Primeiro de tudo precisamos esclarecer algumas coisas. A placa de vídeo é o componente do computador que é responsável por renderizar o jogo, ou seja, criar as imagens que a gente vê. Ela consegue gerar uma certa quantidade de imagens por segundo, que são os famosos FPS, que significa Frames per Second ou Quadros por Segundo.

O monitor por outro lado é o responsável por mostrar na tela essas imagens que a GPU gerou. Sendo assim, cada monitor tem o que é chamado de Refresh Rate ou Taxa de Atualização, que é basicamente o número de quadros que ele consegue mostrar por segundo.

Então com esses dois conceitos em mente, vamos ver um pouco mais a fundo como a placa de vídeo envia os quadros para o monitor. Toda placa de vídeo tem um componente chamado Framebuffer que é um tipo de memória especial, e essa memória é responsável por armazenar os quadros renderizados que vão ser mandados para o monitor. Normalmente esses quadros são armazenados em dupla: enquanto um é processado, o outro é enviado.

Beleza, mas qual é o problema? O problema surge quando você tem uma placa de vídeo que consegue gerar muito mais quadros do que seu monitor consegue exibir. Se o seu FPS é mais alto que a Taxa de Atualização do monitor, então você poderá ser vítima do Screen Tearing, que são quebras nas imagens exibidas.

Isso acontece pois nesse caso a placa de vídeo atualiza o framebuffer mais rápido do que ele consegue enviar os quadros para o monitor. Sendo assim, enquanto um frame presente no buffer estiver sendo enviado para o monitor, esse buffer terá seu frame sobrescrito pela GPU, fazendo com que o conteúdo exibido no monitor corresponda à mistura dos quadros que passaram pelo buffer durante esse período. No fim das contas, o Screen Tearing é quando um monitor não consegue acompanhar a velocidade da placa de vídeo e acaba exibindo informações incompletas de vários quadros ao mesmo tempo.

Então como se resolve esse problema? Existem algumas maneiras como usar VSync, Gsync ou FreeSync.

O VSync é uma abreviação para Vertical Synchronization ou Sincronização Vertical, em português. É basicamente um método computacional para sincronizar a placa de vídeo com o dispositivo de exibição. Quando ativado, ele força a GPU a produzir uma quantidade de quadros por segundo igual a um fator da taxa de atualização do monitor porque ele faz com que o monitor envie um sinal pedindo à placa de vídeo um novo quadro para exibir.

E apesar de parecer simples, o VSync de fato é efetivo! Sua utilização elimina completamente o Tearing, uma vez que a GPU será forçada a aguardar o monitor reproduzir o buffer antes de poder renderizar um novo quadro, impossibilitando sua sobreposição.

Além disso, o VSync tem outra função importantíssima. Quando a sua GPU é muito mais poderosa do que o jogo exige, a sincronização vertical fará com que sua GPU funcione um pouco mais devagar, reduzindo sua carga de trabalho e consumo de energia e estressando menos o seu componente. Sendo assim, você poderá dar uma folga para sua placa de vídeo quando você fechar o Battlefield e abrir o Minecraft, evitando esforço desnecessário e aumentando sua vida útil.

Agora, com tantos pontos positivos, o VSync deve ser perfeito, não? Nem tanto. O uso do VSync produz um probleminha: ele insere um atraso no fluxo de processamento gráfico. E esse atraso produz 2 consequências:

A primeira e talvez menos impactante, é o agravamento do efeito conhecido como "stuttering", que ocorre quando a GPU produz um número de frames inferior a taxa de atualização do monitor. O que resulta em alguns momentos onde o monitor mostra o mesmo frame várias vezes, dando a impressão de que seu jogo travou. Isso pode ocorrer porque a GPU não atende os requisitos mínimos para a configuração atual do jogo ou também pode ocorrer em cenas de processamento gráfico muito intensas, cheia de elementos a serem renderizados como explosões e efeitos de pós-processamento.

 

 

A inserção de um atraso nesse fluxo de tarefas faz com que, durante uma dessas "travadas", a sincronização forçada pelo VSync faça com que o FPS perceptível seja menor do que o que a GPU realmente poderia oferecer, piorando a experiência de jogar.

A segunda consequência e, provavelmente, a mais impactante, principalmente para jogadores de jogos que exigem reações muito rápidas, é a inserção de um fenômeno conhecido como Input Lag. Resumindo, esse atraso adicionado pelo VSync faz com que o tempo entre você apertar um botão e a resposta aparecer na tela seja aumentado. Então, digamos que você está jogando um jogo de tiro e acabou de clicar com o mouse para atirar. Além do tempo normal que o jogo leva para processar seu comando, você também tem que esperar por esse atraso causado pelo VSync até poder observar o seu tiro sendo disparado.

 

Conclusão

Pois é, não tem solução mágica. Tudo tem seus prós e contras. Mas em relação ao Vsync temos então 2 situações importantes para prestar atenção:

A primeira, quando a sua GPU renderiza seus jogos a uma velocidade muito superior à taxa de atualização do seu monitor. Nesse caso, o VSync eliminaria o Screen Tearing, ao passo que adicionaria um Input Lag, então vai de cada um decidir o que é mais importante, gráficos ou performance.

Já a segunda, quando sua GPU renderiza seus jogos a uma velocidade próxima ou inferior à taxa de atualização do seu monitor. Nesse caso recomendamos que você desabilite o Vsync para evitar quaisquer problemas.

Deixamos abaixo o vídeo canal Elucidário, que explica a teoria acima. Dá uma passada por lá também: