Há duas semanas, um relatório de bug foi aberto no Mesa, relatando que o desempenho das árvores de nós de sombreamento Eevee do Blender estava terrivelmente lento ao usar as placas gráficas Radeon RX 7900 XT ou Radeon Pro WX 9100. No entanto, uma correção foi recentemente implementada para resolver esse problema, reduzindo significativamente o tempo de compilação dos shaders.
Sebastian Parborg, da equipe do Blender Studio, descobriu que a compilação dos shaders estava levando muito tempo em suas GPUs AMD quando comparado ao uso de GPUs Nvidia no Linux com o Blender. Por exemplo, uma cena com muitas árvores de sombreamento levaria apenas cerca de 20 segundos para compilar os shaders em GPUs Nvidia, mas mais de 16 minutos em GPUs AMD. Isso tornou impossível para os artistas da equipe trabalharem eficientemente com suas GPUs AMD, levando-os a substituir muitas dessas placas por outras Nvidia. Mesmo as renderizações finais tornaram-se inviáveis devido a esse problema.
Após a abertura do relatório de bug, engenheiros da Valve trabalharam no problema e Timothy Arceri, da equipe de gráficos Linux da Valve, criou uma mudança significativa para otimizar o compilador NIR do Mesa, especificamente a função nir_opt_copy_prop_vars. Essa mudança reduziu drasticamente o tempo de compilação do shader do Blender, diminuindo de 251 segundos para apenas 9 segundos nos testes de Arceri. Além disso, houve uma melhoria de 2,38 para 0,68 segundos em um caso de teste CTS para um shader mais comum.
Essa correção foi mesclada na versão 23.3-devel do Mesa. Os testes realizados no Blender Studio também mostraram que os tempos de compilação dos shaders agora são comparáveis aos dos drivers gráficos Nvidia. Isso significa que as placas gráficas AMD no Linux voltaram a ser uma opção viável para os desenvolvedores do Blender que trabalham com shaders mais pesados.
Até a próxima !!
Nenhum comentário:
Postar um comentário