FERRAMENTAS LINUX: O AMDGPU FreeSync tem uma correção de última hora para ajudar a evitar a gagueira no kernel Linux 5.0

quarta-feira, 27 de fevereiro de 2019

O AMDGPU FreeSync tem uma correção de última hora para ajudar a evitar a gagueira no kernel Linux 5.0





Confira !!



Um dos principais recursos para usuários finais do novo kernel do Linux 5.0 que deve ser lançado neste fim de semana é o suporte para atualização de taxa de Freqüência / Freqüência nas GPUs AMD Radeon através do driver AMDGPU da linha principal. Há uma correção de última hora solicitada para ajudar a evitar a gagueira com esse recurso tão esperado para os jogadores do Linux.

O suporte do AMDGPU FreeSync está em grande parte em grande forma ao usar o kernel principal do Linux 5.0 agora e os últimos bits do espaço do usuário. Nos próximos dias, espero ter tempo para fazer uma recapitulação do estado e outros detalhes para ajudar os jogadores do Linux a fazer uso dessa funcionalidade projetada para lidar com o travamento e a gagueira durante a renderização de jogos e outros aplicativos suportados.

Embora no geral seja ótimo, ainda há alguns casos específicos para resolver. O mantenedor do AMDGPU DRM, Alex Deucher, acaba de enviar uma solicitação de pull para essa correção de último minuto para ajudar a evitar a gagueira em certos casos.

O patch do desenvolvedor Linux independente Mario Kleiner explica:
No modo VRR, acompanhe a contagem do vblank do último pageflip concluído em amdgpu_crtc-> last_flip_vblank, conforme registrado no manipulador de conclusão do pageflip após cada flip concluído.

Use essa contagem para evitar que o mmio programe um novo pageflip dentro do mesmo vblank no qual o último pageflip foi concluído, ou seja, para acelerar os pageflips para no máximo um flip por quadro de vídeo, enquanto ao mesmo tempo permitindo solicitar um flip não apenas antes do início do vblank, mas também em qualquer lugar dentro do vblank. 
A velha lógica fez o mesmo, e fez sentido para taxa de atualização fixa regular, mas no modo vrr evita solicitar um flip em qualquer lugar dentro do vblank possivelmente grande, reduzindo assim a taxa de quadros no modo vrr em vez de melhorá-lo, atrasando um flip ligeiramente atrasado solicita até uma duração máxima de vblank + 1 duração de scanout. Isso limitaria a utilidade do VRR para ajudar apenas aplicativos com uma demanda de GPU muito alta, que pode enviar a solicitação de flip antes do início do vblank, mas depois ter que esperar muito tempo para que as cercas sejam concluídas.  
Com este método, um flip pode ser solicitado e - após as cercas serem concluídas - executado, isto é. não importa se o pedido (amdgpu_dm_do_flip ()) é atrasado até o fundo do vblank estendido devido a atrasos de execução da CPU. Isso também permite que os clientes que desejam regular o framerate dentro da faixa vrr tenham um controle muito mais refinado do tempo do flip, um recurso que pode ser útil para a reprodução de vídeo e é muito útil para aplicativos de pesquisa em neurociência / visão.

Como estamos a apenas alguns dias da linha de chegada do kernel Linux 5.0, é possível que os mantenedores do DRM, Daniel Vetter e David Airlie, adiem essa mudança até o lançamento e façam o back-port, mas como é uma mudança bastante segura e já foi revisado por vários desenvolvedores do AMD Linux, esperamos que ele chegue ao mainline antes do lançamento 5.0 no domingo.


Fonte

Até a próxima !

Nenhum comentário:

Postar um comentário