O que é uma corrente de troca?
Uma cadeia de troca é uma série de abordos ou locais na memória do computador, usados para renderizar uma imagem antes de ser exibida em um monitor real ou outro dispositivo. Sempre existem pelo menos dois buffers de estrutura em uma cadeia de troca, porque o primeiro ou ativo, ou ativo, geralmente é identificado como o que está sendo mostrado atualmente na tela. Enquanto um buffer de estrutura está sendo exibido, o próximo buffer pode ser renderizado e preparado para exibição e depois trocado para o dispositivo conforme necessário. O uso de uma cadeia de troca pode eliminar alguns dos problemas que ocorrem devido a conflitos entre hardware e tempo de software, bem como artefatos gráficos que podem aparecer devido à renderização diretamente ao dispositivo de exibição. O que quer que esteja nesta área de memória, é desenhado na tela várias vezes a cada segundo. Uma tela é desenhada em linhas horizontais do canto superior esquerdono canto inferior direito. O momento em que a tela está iniciando o próximo quadro, quando ela se move do canto inferior direito da tela para o canto superior esquerdo, é conhecido como reflexão vertical.
As implementações de um buffer de troca apenas desenham para a tela durante a reflexão vertical. Se esse tempo estiver desligado ou se um programa tentar desenhar para uma tela durante os períodos em que um quadro estiver sendo renderizado, uma anomalia gráfica conhecida como lágrima pode aparecer. Isso ocorre quando a imagem na memória do dispositivo de exibição é subitamente alterada no meio da renderização, fazendo com que um lado da tela mostre o último quadro e o restante da tela para mostrar a nova.
Ao renderizar uma cena antes do tempo em um Buffer de estrutura, o próximo quadro a ser exibido já está preparado e pode ser rapidamente empurrado para a memória de exibição para que seja mostrado. Enquanto uma imagem é exibida, a seguinte está sendo desenhada noFramebuffer inativo, também chamado de buffer traseiro. Isso cria animações suaves e efeitos visuais que podem ser exatamente cronometrados para evitar rasgar.
O termo "cadeia de troca" é mais conhecido como buffer duplo ou buffer triplo, dependendo do número de quadros sendo desenhados antes do buffer de estrutura ativo. O uso de algoritmos de tempo de nanossegundos ou milissegundos é uma parte essencial do uso de uma cadeia de swap para garantir que a taxa de quadros máxima do monitor não exceda e que os programas possam acompanhar seu próprio processamento e recursos em um sistema. Empregar uma cadeia de troca, se implementada corretamente, pode resultar em animações suaves, independentemente das propriedades de um dispositivo de exibição ou da quantidade de tempo necessária para renderizar um único quadro de animação.