WATCH DOGS 2 roda como no seu CPU?


Pense num jogo polêmico; controverso. Esse é WATCH DOGS 2. Não por sua temática, ou objetivo, mas pela sua fama. Desenvolvido e publicado pela Ubisoft, o game sofre de um estigma advindo do seu antecessor: o de ser mal otimizado. Aliás, isso é uma maldição que a Ubisoft em si carrega após o fail em Assassin's Creed Unity também.

O intuito desse artigo, entretanto, não é provar a qualidade da otimização do jogo. Mas demonstrar qual processador pode entregar certa performance desejada.

First things First


CPU por si só não "leva" uma GPU X ou Y. Ele consegue, em verdade, levar uma performance desejada - o que prefiro chamar de "target de performance". Pra uma placa gráfica gerar um frame, ela precisa das instruções do CPU, antes de tudo. Se você roda a 30fps, um frame é gerado em ~33 milissegundos. Dentro desses 33 milissegundos, o CPU calcula a física do game, põe a Inteligência Artificial do código do jogo pra funcionar, assim como os inputs e outputs, mixa o som de acordo com seus periféricos, além de passar as instruções para as placas de vídeo. A sua placa AMD ou NVIDIA pega essas instruções e usa para calcular como gerar a imagem (o frame). Tudo isso dentro dos 33ms para gerar 30 frames por segundo.

Quanto mais frames a sua placa puder gerar, menor o tempo que o CPU terá para entregar as instruções necessárias para a GPU correto? Afinal, para manter a média de 200FPS, por exemplo, todo esse processo precisa ser feito (CPU + GPU) em 5 milissegundos.

É aí que alguns CPUs não conseguem fazer todas as instruções nesse tempo minúsculo e, consequentemente, não permitem que sua placa gerem o máximo de desempenho. Portanto, se você ver uma mesma placa com menos frames, foi o CPU que não conseguiu (por N motivos) entregar o máximo possível que a mesma é capaz. Porém, não significa que ele não a "leve". Significa que, passando aquela taxa de FPS, ele não vai nutrí-la o bastante.

Ao decorrer do artigo, voltamos ao assunto para que você entenda melhor.

Placa de vídeo utilizada


Em testes como este, precisamos de uma placa muito forte. A NVIDIA GTX 1080Ti Founders Edition (cedida permanentemente pela NVIDIA Brasil) de 11GB GDDR5X é a mais forte que temos a disposição. A ideia é conseguir comparar o limite de instruções que cada processador consegue gerar para uma GPU e em que ponto ela deixa de trabalhar plenamente.

Processadores

No nosso caso, somos ainda um site / canal com poucos​ recursos. Não temos dezenas de processadores. Dispomos sim de um Intel Core i7 5960x (comprado com nosso suado dinheiro) e um AMD RYZEN 7 1800X (cedido permanentemente pela AMD).

Ante esse quadro limitador, percebemos a necessidade de simular os outros processadores desabilitando os núcleos / recursos dos CPUs supracitados. Assim conseguimos o seguinte:


I7 5960x = tudo habilitado

I7 5930k = 2 cores desabilitados

I7 4790k = 4 cores desabilitados

I5 4690k = 4 cores e Hyper Threading desabilitados

i3 4160 = 6 cores desabilitados

R7 1800x = tudo habilitado

R5 1600x = 2 cores desabilitados

R5 1500x = 4 cores desabilitados


Todos os processadores Intel simulados estão com clock de 4.4GHz.

Todos os processadores AMD simulados estão com clock de 3.9GHz.


Com muito orgulho, podemos anunciar que muito em breve teremos o Intel Core i7 7700k e o FX 8370 para participar dos testes futuros no nosso canal, graças a nossa parceira, a Sol Tecnologia. Para conhecer a loja que ajuda o PC Facts em seus testes, basta clicar aqui.


Teste


O jogo foi rodado em um cenário que engloba parte com sombras, partes fechadas dentro da cidade, partes abertas no litoral e parte debaixo de árvores e muita vegetação. Tudo isso para simular uma média que represente os vários ecossistemas de WATCH DOGS 2.

Os resultados foram obtidos no Preset Ultra, em 1080p.


Resultados

Os melhores CPUs para se rodar WATCH DOGS 2 foram os Intel i7 5960x, i7 5930k e i7 4790k. Todos eles em quase 100 frames por segundo de média, com destaque para o 5960x que NUNCA baixou dos 60fps. (Se não acredita, clique aqui). Claro que o preço a se pagar por esse processador não vale a diferença praticamente imperceptível de FPS a mais se comparado a um 4790k. Se o 4790K consegue rodar a essa taxa, fica fácil concluir que CPUs i7 de gerações mais recentes conseguem isso, ou mais.

Os Ryzen, por melhor representante que você escolha, fez pelo menos 10FPS a menos que o 4790k. Um resultado desanimador. Para quem busca um target de performance em 60FPS, o Ryzen passa disso tranquilamente, mas com quedas que chegam aos 35FPS, o que pode incomodar, ainda mais para quem pagou caro em um R7 1800x. Pelo menos o "pior" Ryzen dentre os testados, o R5 1500x, superou o i5 4690k em todos os quesitos, média e estabilidade. Fica aqui registrada a nossa curiosidade para acrescentar o i5 7600k, (simulado de um i7 7700k), bem como o FX 8370 nesse teste e descobrir até onde IPC extra dos Kabylake poderiam "salvar" o processador e se os 8 Threads dos FX fariam algo melhor que os 4 do i5 ou até se chegariam ao patamar do 4790k com 8 threads tambem...

Falando em comparar, o i7 4790k e o i5 4690k se diferenciam apenas pela presença / ausência do Hyper Threading, beleza? Ao olhar os dois rodando com a GTX 1080Ti, com 18FPS de diferença, você é levado a pensar duas coisas:

1. Esse jogo demanda Hyper Threading;

2. Esse jogo pode trazer conflitos para o Simulthaneous Multi Threading da AMD, por ser dependente de HT da Intel.

Por mais lógico que isso possa parecer, não é o caso, como mostra o teste feito especialmente para analisar a diferença que o HT ou o SMT fazem nesse game.

Fica evidente que o jogo não precisa, ou sequer se beneficia do Hyper Threading. Mas o que acontece com o i5 4690k então?

Bem, o que dá para concluir é que o código do jogo deve ter separado algumas tarefas independentes e dividiu elas em 8 threads para desafogar o thread principal onde normalmente a carga é maior. Isso faz com que CPUs com menos de 8 threads (sejam advindas de cores físicos ou cores lógicos criados pelo sistema operacional em virtude do HT ou SMT) tenham problemas de performance. Tudo porque essas tarefas nas Threads extras foram transferidas e redivididas entre as 4 threads do CPU, causando estrangulamento no Núcleo principal do i5, como você pode ver no gráfico abaixo.

Perceba como o i5 4690k com 4 Threads passou por um sufoco muito maior que o R5 1500x que tem 8 Threads. Tanto o Core mais exigido quanto o CPU inteiro foram necessários para usar apenas 80% da GTX 1080Ti. Isso comprova nossa teoria.


Voltando à questão da CPU "levar" a placa "tal"... Target de Performance...


Viram como o i5 4690k não conseguiu "levar" a GTX 1080Ti? Nem o próprio R7 1800x conseguiu "levar"... Pois é... as coisas não são por aí. O que eles não conseguem é entregar todas as instruções necessárias para a placa rodar a essa taxa. Aí você pergunta: e não dá no mesmo, uai?! NÃO! Se você jogar em uma resolução maior, como o 1440p ou o 4K, em que essa placa não vai superar os 80FPS, um i5 4690k ou um Ryzen 1800x não vão apresentar as mesmas dificuldades, pois não estarão nos seus limites. A partir daí, eles "levarão" as placas, simplesmente porque eles conseguirão tranquilamente entregar as instruções necessárias. Portanto, sair por aí dizendo: "Esse processador não leva a GPU tal" é um equívoco comprovado.


Mas e essa diferença de clock aí?


Antes de finalizar, você deve estar chateado por não termos usado o Ryzen em 4,4GHz como os Intel, correto? Pois não fique. A culpa não é nossa. O Ryzen chegou a no máximo 4,08GHz (4075,2 MHz) de overclock - isso com uma tensão de motherfucking 1,487v. Mesmo assim, considerando os Intel com mesmo clock que os Ryzen testados, ou seja, 3,9GHz, não temos mudança REAL na performance. Só daria para sentir mudança se você usasse o i7 5960x a 3,4GHz e mesmo assim, só um cara tendo um olho bem aguçado para perceber. O pior é ver que quando a gente subiu o Ryzen 7 1800x de 3,9GHz para 4,08GHz ele perdeu alguns FPS na média apesar de ter ganho estabilidade.

Acho que ficou claro que em WD2, mais clock = mais estabilidade, mas não mais FPS.

Enquanto isso, o sistema exigiu o quê?


Talvez isso não seja o que mais preocupa a galera quando temos análise de performance, mas deveria. Saber o quanto o jogo tá demandando do resto do sistema é de suma importância. Isso possibilita indicarmos um setup pra um amigo ou montar uma máquina de maneira mais eficiente, principalmente para pessoas que querem gastar sob medida.


Para a galera que curte comprar apenas o necessário, 8GB de RAM já entregam a melhor performance possível em um i7 5960x. Nos Ryzen, 9GB foram requeridos, algo que não faz muito sentido (a ser analisado ainda).

O uso de VRAM é um tanto quanto alto, superior a 4GB em 1080p. Fico ainda na curiosidade para ver como uma GTX 980 e uma Fury X vão lidar com isso. Placas como uma RX 470 ou 970 terão problemas de capacidade de processamento antes mesmo de a memória gargalar a VGA, mas não creio que possa ser o caso de GTX 980 e Fury X, que são sabidamente mais fortes. Para saber, só testando!

Um detalhe curioso: Em ambos os casos, 700MB de memória dinâmica do Windows 10, mesmo sobrando ainda quase 7GB de VRAM da 1080Ti. Isso é um recurso do WDDM 2,0 que permite um swap entre dados que deveriam estar na VRAM (memória da GPU) mas que, por falta de espaço (o que não é o caso, obviamente), podem ser alocados na RAM do sistema.

Até aí tudo bem, se não fosse o fato de que essa técnica exige muito processamento na thread principal (que é a mais carregada, como dissemos anteriormente). Isso é uma das causas de mal gerenciamento de threads em Forza Horizon 3, da Turn 10, por exemplo. Mesmo depois de diversos updates, o jogo conseguiu reduzir os stutters problemáticos em patches iniciais, mas o uso do Thread principal ainda é alto.

Mas não se engane. Watch Dogs 2 tem motivos para usar sim muito o CPU, mas talvez, se não fosse essa Memória dinâmica exigindo processamento extra do Thread principal, nós tivéssemos um jogo mais acessível, que não estourasse um i5 4690k.


Conclusão


WATCH DOGS 2 exige CPU, exige Thread Principal, tem o problema de VRAM Dinâmica, mas ao menos gerencia bem as Threads. Não é o típico game que usa dois núcleos e só exige clock e IPC. O jogo requer CPUs com pelo menos 8 Threads, o que restringe muito a galera do Mainstream, habituada a usar Core i5 de entrada para PC Gamers... aí fica fácil ver porque tanta gente diz que o jogo é mal otimizado, quando na verdade, deveriam perceber que esse tipo de exigência será cada vez mais frequente. Tá na hora de largar seu quadzinho...

Seria interessante ver o i5 7600k com alto IPC tentar furar o bloqueio de necessidade de 8 Threads do CPU, bem como ver se a falta de IPC dos FX 8370 não seriam um limitador pro processador mesmo ele tendo as 8 Threads. No meio tempo, recomendo aos usuários de i5 que travem o jogo na casa dos 40 FPS no Riva Tuner que ai não terão problemas de stutter.

Ainda assim, WD2 tem seu lado bom, que é dependência zero de clock alto e uso moderado de RAM. Na parte de GPU VRAM, placas com 6GB VRAM vão sorrir tranquilamente, mas placas com 4GB, se o driver não estiver bem afinado para escolher quais dados estarão na memória de vídeo, poderemos ter problemas.

Enfim, WD2 é um jogo bacana de se jogar, mas não é para qualquer PC. Particularmente curto jogos mais democráticos, mas cada dia que passa vejo como a galera está enganada em relação ao futuro dos games e o quanto eu vislumbrei algo correto: CPUs Quad Core não sobram tanto assim em games... é só uma questão de tempo até eles serem o que hoje são os Dual Core...


Para quem quiser ver o nosso vídeo que fizemos sobre isso, clique aqui

Quem quiser discutir sobre isso, entre nos nossos grupos do Facebook e do Telegram.