FERRAMENTAS LINUX: A NVIDIA libera as correções para evitar o uso elevado da CPU ao usar a área de trabalho do KDE

terça-feira, 26 de março de 2019

A NVIDIA libera as correções para evitar o uso elevado da CPU ao usar a área de trabalho do KDE




Confira !!



Por quase seis anos, houve um relatório de erro sobre a alta carga de CPU ao usar o driver proprietário da NVIDIA, causando alta carga de CPU ao executar a área de trabalho do KDE e ao uso de buffer duplo. Este problema foi finalmente resolvido. 

O Bug # 322060 foi finalmente fechado após um recente commit para KWin pelo engenheiro da NVIDIA Erik Kurzinger - este é o mesmo desenvolvedor trabalhando no código do EGLStreams para o KDE / KWin , embora neste caso esta correção de bug esteja no lado do X.Org e não relacionado a esse esforço. O bug mencionado foi aberto desde o verão de 2013 para buffer duplo com GPUs NVIDIA, causando alta carga de CPU. Como mencionado nessa postagem, uma solução alternativa foi definir o __GL_YIELD = USLEEPvariável de ambiente para evitar o uso excessivo de recursos da CPU. Mas Kurzinger resolveu o problema subjacente após o problema ter escapado aos desenvolvedores do KDE por anos. 

Isso não acabou sendo um problema de driver da NVIDIA, mas sim a KWin fazendo uma suposição incorreta sobre a operação de buffers de swap do GLX. Erik explicou: " A implementação NVIDIA de glXSwapBuffers irá, por padrão, colocar em fila até dois quadros para apresentação antes de bloquear. O compositor do KWin, no entanto, assume que as chamadas para glXSwapBuffers sempre bloquearão até o próximo vblank ao renderizar buffer duplo. t válido, como glXSwapBuffers é especificado como sendo um glFlush implícito, não um glFinish implícito e, portanto, não é necessário bloquear.Quando essa suposição é violada, a lógica de temporização de quadros do KWin será interrompida.

A mudança para resolver isso é muito fácil e foi aplicada ao KDE: configure a variável de ambiente __GL_MaxFramesAllowed = 1 , pois isso fará com que o driver da NVIDIA sempre bloqueie até a próxima nova linha, correspondendo ao comportamento do KWin. Então esta mudança está agora no lugar para a próxima versão do Plasma do KDE (Plasma 5.16, não está claro se será back portado para uma versão de 5.15 pontos) ou os usuários também podem definir esta variável de ambiente por conta própria se e / ou alto uso da CPU.

Fonte

Até a próxima !!

Nenhum comentário:

Postar um comentário