Hot Pursuit reduz latência para o nível mais baixo
Jogo com melhor resposta desta geração?
"Portanto, 30Hz...vai ser realmente interessante ver o que as nossas medições de latência dizem. Pensamos que a latência está muito boa...Pensamos que podem ser 83ms...ou 100ms."
Em Julho, a Digital Foundry entrevistou a equipa de tecnologia da Criterion sobre o seu mais recente jogo, Need for Speed: Hot Pursuit, lançado recentemente na Europa e no Reino Unido. Gurus da engenharia Alex Fry e Richard Parr discutiram os desafios em baixar para os 30 fotogramas por segundo após os adoráveis 60FPS de Burnout Paradise, concentrando mais particularmente no problema de manter a sua característica habitual de baixa latência, controlos apurados.
O artigo de Confronto não aborda apenas as diferenças entre as versões Xbox 360, PlayStation 3 de Hot Pursuit – também medimos a resposta do comando, comparando o novo Need for Speed contra a latência de inserção de 66ms de Burnout Paradise. Em todos os nossos testes até agora, ainda não encontramos um jogo a 30Hz capaz de bater a barreira dos 100ms, enquanto que a única resposta de 50ms que vimos veio do XMB da PS3.
O resultado? Para a versão Xbox 360, temos uns confirmados 83ms, significando que apesar de ter metade do rácio de fotogramas, a resposta do comando é diminuída por apenas um fotograma quando comparada com Burnout Paradise. Melhor ainda, para os donos de PC a correr o jogo a 60FPS, a latência é reduzida para apenas 50ms, tornando-a na melhor resposta de um comando que medimos em qualquer um dos jogos para o qual olhamos.
Levamos as nossas descobertas de volta para Alex Fry na Criterion, que respondeu com esta explicação técnica aprofundada sobre como o motor de jogo funciona, especificamente sobre como o código do comando se encaixa.
"A forma como a arquitectura funciona é correr a simulação do jogo internamente a 60FPS, e está a medir o comando uma vez para cada passo da simulação para que tenhas o máximo de inserções actualizadas o possível," explicou Fry.
"O código do renderizador (a construir listas de disposição para a unidade de processamento gráfico consumir no próximo fotograma) imediatamente segue os dois loops da votação do comando/simulação, e então espera pela sincronização vertical. Assim no Pc temos duas actualizações a 60FPS e um renderizador a 30Hz num total de 33ms.
"Quando o processador terminou e a sincronização vertical entra, a unidade de processamento gráfico activa-se e renderiza toda a cena quanto a próxima simulação/renderização de fotograma acontece em paralelo no processador. Uma vez feito a unidade de processamento gráfico também espera pela sincronização vertical (que também o sincroniza com o processador), adicionando então outros 33ms. Então a análise de saída da TV acontece para ter a imagem final do ecrã, o que adiciona uns finais 16.6ms."
O total de tudo isto é 83ms, e em teoria esta é absolutamente a resposta de comando mais rápida que provavelmente vamos ver num título 30FPs. Mas a medição de 50ms da versão PC também demonstra que a abordagem que a Criterion tomou acarreta dividendos ao correr a 60FPS também.
"Na versão Pc, é obviamente capaz de chegar aos 60FPs por isso não o amontoámos em dois loops de simulação por renderizador," continuou Fry.
"Portanto, se tanto o processador como a unidade de processamento gráfico são rápidos o suficiente, apenas fazemos um loop de medição de comando/simulação antes de precisarmos renderizar, alcançando então 60FPS com apenas 50ms de latência ( 16ms de medição de comando/simulação e então renderizar, 16ms para a unidade de processamento gráfico, e então 16ms para exteriorizar)."
Por isso tendo alcançado em teoria o limite para a resposta do comando num título a 30FPS, pode a Criterion fazer o mesmo para um jogo de consola a 60FPS?
"Em teoria, se formos capazes de alcançar 60FPS numa consola, esta arquitectura poderia chegar aos 50ms de latência numa consola...mas não estamos a 60FPs, por isso não podemos. Podem testar isso nos menus Autolog, um vez que correm a 60FPS (desde que não estejam no ecrã de selecção de carros que corre novamente a 30)."