Naughty Dog explica como alcançaram 60FPS em The Last of Us Remastered
IMAGEaHR0cDovL3BzbWVkaWEucGxheXN0YXRpb24uY29tL2lzL2ltYWdlL3BzbWVkaWEvdGhlLWxhc3Qtb2YtdXMtcmVtYXN0ZXJlZC1saXN0aW5nLXRodW1iLTAxLXBzNC11cy0wOGFwcjE0PyRJY29uJA==
A Naughty Dog teve que reescrever partes significantes da engine já que a arquitetura do PS3 era diferente da arquitetura do PS4 para The Last of Us Remastered, e eles decidiram paralelizar a engine através de fibras. Christian Gyrling da ND explicou o processo na GDC 2015 e hoje, ele liberou os slides para o público (em um arquivo .PDF de 94 páginas).
IMAGEaHR0cDovL3d3dy53b3JsZHNmYWN0b3J5Lm5ldC93cC1jb250ZW50L3VwbG9hZHMvMjAxNS8wMy9uZF9zbGlkZV8xLmpwZw==
Fibras são como fios parciais e eles tem sobrecarga mínima de despesas gerais, segundo Gyrling.
IMAGEaHR0cDovL3d3dy53b3JsZHNmYWN0b3J5Lm5ldC93cC1jb250ZW50L3VwbG9hZHMvMjAxNS8wMy9uZF9zbGlkZV9maWJlcnNfMS5qcGc=
Ainda, eles viram um pouco antes de dois meses antes de lançar o jogo (TLOU Remastered) que eles deveriam mudar algo para atingir os 60FPS prometidos. O caminho crítico do CPU precisaria ser diminuído de 25 ms para 16 ms ou menos.
IMAGEaHR0cDovL3d3dy53b3JsZHNmYWN0b3J5Lm5ldC93cC1jb250ZW50L3VwbG9hZHMvMjAxNS8wMy9uZF9zbGlkZV8yLmpwZw==
IMAGEaHR0cDovL3d3dy53b3JsZHNmYWN0b3J5Lm5ldC93cC1jb250ZW50L3VwbG9hZHMvMjAxNS8wMy9uZF9zbGlkZV82MGZwcy5qcGc=
O estúdio decidiu usar um design centrado nos frames, com a lógica do jogo e a lógica de render correndo ao mesmo tempo mas processando diferentes frames; isso diminuiu o caminho crítico da CPU para 15.5 ms, conseguindo o requerimento para atingir os 60FPS.
IMAGEaHR0cDovL3d3dy53b3JsZHNmYWN0b3J5Lm5ldC93cC1jb250ZW50L3VwbG9hZHMvMjAxNS8wMy9uZF9ob3dfMS5qcGc=
IMAGEaHR0cDovL3d3dy53b3JsZHNmYWN0b3J5Lm5ldC93cC1jb250ZW50L3VwbG9hZHMvMjAxNS8wMy9uZF9ob3dfMi5qcGc=
IMAGEaHR0cDovL3d3dy53b3JsZHNmYWN0b3J5Lm5ldC93cC1jb250ZW50L3VwbG9hZHMvMjAxNS8wMy9uZF9vbGRfZGVzaWduLmpwZw==
IMAGEaHR0cDovL3d3dy53b3JsZHNmYWN0b3J5Lm5ldC93cC1jb250ZW50L3VwbG9hZHMvMjAxNS8wMy9uZF9uZXdfZGVzaWduLmpwZw==
Gyrling também clarificou exatamente o que a ND pretende com "frame" em um slide dedicado.
IMAGEaHR0cDovL3d3dy53b3JsZHNmYWN0b3J5Lm5ldC93cC1jb250ZW50L3VwbG9hZHMvMjAxNS8wMy9uZF9zbGlkZV9mcmFtZS5qcGc=
Finalmente, foi explicado como eles nunca tiveram problemas de memória com esta abordagem (mesmo com 100/200 MiB de memória gastos).
IMAGEaHR0cDovL3d3dy53b3JsZHNmYWN0b3J5Lm5ldC93cC1jb250ZW50L3VwbG9hZHMvMjAxNS8wMy9uZF9tZW1vcnkuanBn
A conclusão de Gyrling é que fibras são impressionantes e um design focado nos frames pode simplificar uma engine.
IMAGEaHR0cDovL3d3dy53b3JsZHNmYWN0b3J5Lm5ldC93cC1jb250ZW50L3VwbG9hZHMvMjAxNS8wMy9uZF9zdW1tYXJ5LmpwZw==