Vsync, On Ou Off?

#Notícia Publicado por flavinhohoop, em .

Muitas pessoas quando vão configurar os graficos do game de PC, se deparam com uma opção "VSYNC", ai elas se perguntam o que é isso?

1) O que é VSync?

VSync é teoricamente bem simples: ele simplesmente sincroniza a taxa de atualização dos frames da VGA com a taxa de atualização do Monitor (60, 75, 100Hz, etc) para que não ocorram falhas ou quebras na imagem.

Sincronização Vertical, ou simplesmente VSync, é necessário principalmente por causa das limitações físicas dos monitores CRT e LCD. Um monitor atualiza a imagem na tela com um número limitado de vezes por segundo, que identificamos pelo valor em Hz (Hertz " 60, 70, 85, 120, etc). O problema é que a sua placa de vídeo não está nem aí para o monitor, ela simplesmente gera os seus quadros (frames) e manda para ele, e quando ela envia mais quadros do que o monitor é capaz de suportar, ocorre um defeito na imagem, chamado de Screen Tearing (Rasgando a Tela).

2) O que é Screen Tearing (Rasgando a tela)?

Sempre que o FPS for superior à taxa de atualização (por exemplo, 120 FPS em uma tela de 60Hz), ou em geral, em qualquer momento durante o jogo, se sua placa gráfica funcionar mais rapidamente do que o seu monitor, vai ocorrer o Screen Tearing. Nesse caso, quando o monitor for gerar um quadro a partir o buffer da placa gráfica, a imagem é constituída por dois ou mais quadros diferentes sobrepostos uns aos outros. Isso resulta na imagem um desalinhamento ou simplesmente ela rasga (tearing) sempre que houver qualquer movimento.

Sem VSync, ocorrem cortes na imagem ao jogar (imagem editada criando vários efeitos de Screen Tearing):

IMAGEIAoKW2ltZ11odHRwOi8vaW1nMzUuaW1hZ2VzaGFjay51cy9pbWczNS8xNjYvc3Zib3Jib2xldGFjb2oyLmpwZw==

[/img]

Com VSync, imagem sem cortes:

IMAGEIAoKW2ltZ11odHRwOi8vaW1nMjY4LmltYWdlc2hhY2sudXMvaW1nMjY4LzE0NjkvYm9yYm9sZXRhY29qMi5qcGc=

[/img]

Nesse video, você poderá notar a diferença. Dica: Se não conseguir notar, pause o video quando o logo estiver tremendo e verá as linhas.

TDBaaERHVFZtNE0=

3) Por que o Screen Tearing ocorre somente quando há movimentos rápidos no game?

à uma pergunta simples de responder. Se você ficar parado no jogo, mesmo que a imagem se constitua de vários quadros, ela vai ser a mesma, pois você está parado. Mas quando ocorre um movimento brusco, como o monitor não consegue atualizar em sincronia com a placa de vídeo, você vai ver na tela tanto o quadro antigo quanto os quadros novos que a placa enviou, gerando falhas na imagem. Em movimentos lentos também ocorrerá o Screen Tearing, mas seu olho normalmente não irá perceber.

4) A polêmica da redução dos frames (FPS) pela metade

Com o VSync ativado, pode acontecer do FPS cair pela metade? Sim, mas nem sempre. Ã um conceito um pouco difícil de explicar, mas tem a ver com "timing" e que normalmente ocorre com placas inferiores.

Vou tentar uma breve explicação:

Quando o VSync está ativado a sua placa vira uma "escrava" do seu monitor. Ou seja, ela não pode enviar mais quadros do que o monitor pode suportar. Como a placa não pode enviar mais quadros, ela terá que ficar com o próximo quadro guardado na sua memória, e somente depois de liberar o buffer ela irá processar um novo quadro. Se a sua placa de vídeo não for capaz de processar esse novo quadro rapidamente, os FPS irão diminuir. E quanto mais lento for o processamento após a liberação do buffer, menos frames serão enviados para o monitor. Com isso, uma placa de vídeo, no mínimo garantirá 50% dos frames. Por isso que muitos usuários, quando ativam o VSync, os FPS chegam a cair pela metade. Porém, isso vai depender do PC e da placa de vídeo. Provavelmente, computadores com VGAs de última geração, ou jogos que não exijam muito processamento, podem ocorrer de perder nenhum frame quando ativado o VSync.

5) Com o VSync ativado, diminui a temperatura e consome menos energia?

à quase certo que não. Mesmo ativando a sincronia, a placa de vídeo continuará fazendo o seu trabalho de processamento, muitas vezes sem diminuir muitos frames. Porém, eu não poderei dar mais informações sobre isso simplesmente porque nenhum fórum ou site na internet tocam nesse assunto quando vai explicar o VSync.

6) Então, qual é o melhor, ativar ou desativar?

Só depende de você. Muitos, inclusive eu, odeiam aqueles cortes na tela. Então eu aconselho sempre que instalar um novo game, primeiramente testá-lo com o VSync ativado. Se ocorrer de perder muitos FPS, você pode optar por desativar, mas se perder poucos frames, deixe ativado para evitar o Screen Tearing e aproveitar melhor a qualidade gráfica.

Em alguns jogos pode não ter a opção de ativar o VSync pelo menu. Porém, você pode habilitá-lo pelo driver da sua placa de vídeo, que fará o mesmo efeito, a não ser que a engine do game não possibilite a utilização de VSync, mas isso é muito difícil de ocorrer.

Ativaçao pelo driver da Nvidia do VSync e Tripple Buffering: (Leia sobre Tripple Buffering na próxima pergunta)

IMAGEaHR0cDovL2ltZzE0LmltYWdlc2hhY2sudXMvaW1nMTQvMTg3NC92c3luYy5qcGc=

Ativação do Vsync pelo Catalyst 9.5 - ATI VGA's:

IMAGEaHR0cDovL2ltZzUuaW1hZ2VzaGFjay51cy9pbWc1LzcxNDEvdnN5bmNhdGkuanBn

7) Existe algum meio de melhorar o desempenho do VSync:

Em alguns casos sim, e é chamado de Triple Buffering. O Triple Buffering pode ser ativado pelo driver da placa de vídeo e o que ele faz é criar um buffer auxiliar na memória para a placa de vídeo colocar seus frames. Porém, essa tecnologia só irá funcionar corretamente nos games que rodam em OpenGL. Normalmente em games programados sob DirectX, ativar o Triple Buffering pode gerar vários erros como lags, anomalias ou problemas com texturas.

Por isso é aconselhável, muitas vezes, deixar o Triple Buffering desativado. Mas é a mesma dica do VSync: se você estiver com FPS muito baixos com o VSync ativado, ative o Triple Buffering e verifique se melhora os frames sem ocorrer erros. Se ocorrer erros ou lags basta desativá-lo, sem problema nenhum. Alguns jogos bastante conhecidos que dão suporte corretamente para o Triple Buffering são: Doom 3, Quake 4, Prey e Enemy Territory: Quake Wars.

8) Ã verdade que o olho humano não consegue perceber mais de 30 FPS?

Não. Esse é um dos maiores mitos relacionados a frames.

Mas então quantos frames o olho consegue perceber?

Olhe bem, essa questão é tão subjetiva quanto perguntar qual a resolução máxima que nosso olho é capaz de perceber. A resposta para as duas perguntas é: Ninguém sabe. Pode ser um valor infinito. A única coisa que se sabe é que um game rodando a 120 FPS em um monitor de frequência 120Hz é o suficiente para você sentir uma fuidez perfeita e não ter dor de cabeça mesmo ficando horas na frente do computador.

9) E por que o cinema é rodado a 24 quadros por segundo, e mesmo assim não notamos?

A quantidade de 24 FPS nos cinemas foi um padrão criado em 1929. Mas você sabe por que não se percebe mesmo sendo um valor tão baixo? Reposta: Motion Blur. Isso mesmo. Essa tecnologia que você vê em jogos atualmente, é aplicada nos cinemas desde o tempo de nossos avôs. A cada frame do filme é aplicado o motion blur, criando assim um efeito enganoso de fluidez. A cada cena são inseridos quadros com efeitos motion blur.

Cinemas rodam a 24 quadros por segundo, mas enganam você com Motion Blur:

IMAGEaHR0cDovL2ltZzEzLmltYWdlc2hhY2sudXMvaW1nMTMvOTc0OS9mcmFwc3NpbmVtYS5qcGc=

Porém, isso não tem a mesma aplicação dos motion blur dos jogos. Se o seu jogo estiver rodando a frames muito baixos, ativar o motion blur não irá melhorar a sua percepção, porque aplicações 3D exigem muito mais frames que os filmes do cinema para se ter uma boa sensação de movimento.

10) Tentar alterar a freqüência do monitor além da capacidade pode danificá-lo?

Não. Nos monitores de hoje em dia, se você colocar uma freqüência superior a que é capaz de suportar, ele irá desligar automaticamente. Então, se o seu monitor não é do tempo de sua vó, não se preocupe se errar ao alterar a freqüência.

Creditos pela matéria:

Mponto

Flávio
Flávio #flavinhohoop
, Belém, Para, Brasil