Os monitores não atualizam atomicamente / instantaneamente seus pixels?

0

Estou tentando entender o que causa o rasgo da tela. Suponha que um monitor possa atualizar cada um dos seus pixels instantaneamente. Então imagino que as atualizações funcionariam assim:

  1. Um monitor decide iniciar uma atualização
  2. Ele olha para qualquer quadro que a GPU esteja enviando atualmente.
  3. Ele, atomicamente, atualiza todos os pixels instantaneamente.

Com este tipo de procedimento, parece que deve ser completamente impossível obter o rasgo da tela, ignorando totalmente as taxas de atualização e o FPS. Apenas uma única imagem é desenhada em um determinado momento.

Agora eu sei que não é assim que os monitores CRT trabalham com a sua arma de escaneamento (ou o que quer que seja chamado). Mas fiquei com a impressão de que as novas tecnologias de monitor não funcionam assim. Eles atualizam os pixels gradualmente, e não de uma só vez?

    
por Alec 30.03.2017 / 19:17

2 respostas

1

Etapas 2 e amp; 3 supondo que todos os dados do quadro são transferidos para o monitor de forma imediata e atômica, eles não são. Um monitor "burro" nunca "vê" (ou buffers) um quadro completo de vídeo. Os monitores ainda trabalham com os mesmos princípios de quando usamos feixes de elétrons de varredura para desenhar imagens. TVs mais snazzier podem armazenar imagens em buffer e fazer processamento entre quadros, mas um monitor de computador provavelmente não o fará.

O que o monitor vê é meramente um fluxo de dados vindo da sua placa gráfica. Existem todos os tipos de informações preliminares enviadas ao monitor para informá-lo sobre o formato do fluxo de dados, para obter detalhes de informações de tempo, número de linhas horizontais, várias linhas verticais e formato de cor, mas o que realmente obtém é simplesmente uma longa sequência de dados de cor de pixel.

Seus passos 2 e amp; 3 realmente ocorrem na placa gráfica, e a etapa 3 apenas "aparecerá" para ser o caso se você ativar a sincronização vertical.

Em qualquer ponto no quadro de vídeo, a GPU pode decidir trocar seu buffer de vídeo por uma nova imagem e continuar enviando dados a partir desse ponto no buffer. Se a sincronização vertical não estiver ativada, ela continuará enviando os novos dados do buffer para o monitor exatamente do mesmo ponto em que parou no buffer antigo. Este é o seu ponto de "rasgo".

Se você tiver a sincronização vertical ativada, a GPU esperará que o quadro completo seja enviado antes de alternar o buffer, caso em que você não verá um "rasgo".

    
por 30.03.2017 / 19:46
0

Screen tearing is a visual artifact in video display where a display device shows information from multiple frames in a single screen draw. The artifact occurs when the video feed to the device is not in sync with the display's refresh rate.

Fonte: Wikipedia .

Todos os monitores, LCD e CRT, atualizam em um relógio em um horário conhecido e previsível. Várias tecnologias permitem que a placa gráfica conheça esse ciclo de clock para que a GPU possa enviar os dados no melhor momento para que o monitor os receba e exiba a próxima tela de pixels.

Normalmente, isso é chamado de taxa de atualização ou, em algumas TVs, você verá um número de Hz (ou seja, ciclos por segundo) anunciado. O mais comum nos dias de hoje é provavelmente 60Hz, o que significa 60 ciclos por segundo. Embora 120Hz seja mais comum.

As várias tecnologias de sincronização mencionadas acima são geralmente usadas com a finalidade de impedir o rasgo da tela. Eles geralmente têm limites sobre o quanto eles podem resolver embora.

    
por 30.03.2017 / 19:30