Confira !!
Com o Qt 6.0 previsto para ser lançado em dezembro, a empresa de consultoria KDAB, voltada para o Qt, publicou uma postagem no blog descrevendo as amplas melhorias do renderizador 3D feitas para esta grande atualização do kit de ferramentas. Embora as habilidades de renderização 3D do Qt6 tenham sido muito melhoradas, ainda há trabalho pela frente.
O renderizador Qt 3D foi muito melhorado com o Qt6 e agora oferece um bom suporte não apenas para OpenGL, mas também para Direct3D e Vulkan por meio da camada de abstração RHI (Rendering Hardware Interface) que se juntou perfeitamente. Também significativo com o Qt 6.0 é o thread de renderização foi eliminado, uma vez que realmente só funcionou bem com o Qt 3D por si só, mas não em conjunto com o Qt Quick. Devido ao thread de renderização ainda bloquear às vezes, como quando é necessário sincronizar o conteúdo Qt Quick e Qt 3D, o thread de renderização não funcionou muito bem. Além disso, as complexidades em torno do gerenciamento de thread e recursos extras tornaram mais claro para o Qt 6.0 eliminar apenas o thread de renderização separado.
O Qt 6.0 também mudou do uso de QVector para std :: Vectors e outros recursos C ++ std quando disponíveis para reduzir a sobrecarga dos contêineres Qt. Enquanto isso, o código de abstração RHI continuou amadurecendo desde Qt 5.15 e está oferecendo um bom suporte para Direct3D, Vulkan, OpenGL e Metal - o Qt 6.0 deve usar o código de renderização RHI por padrão em vez do plug-in de renderização OpenGL diretamente. A reestruturação do código também permite plug-ins de renderização mais dedicados no futuro, se necessário.
As limitações atuais da API do Qt 3D incluem a incapacidade de definir barreiras de memória explicitamente junto com nem todos os formatos de textura necessariamente disponíveis. Além disso, sombreadores de geometria e outros recursos ainda estão ausentes.
Outra limitação infeliz do estado no Qt 6.0 é que não há suporte multi-threading Qt 3D com os plug-ins RHI. Assim, enquanto Vulkan e outras APIs gráficas modernas podem desfrutar de threading, a camada de abstração RHI precisa gerar comandos em série a partir de um único thread. Como resultado, não espere grandes ganhos de desempenho hoje com o uso do Qt6 no Vulkan ao invés do OpenGL.
Mais detalhes sobre o estado do renderizador Qt 3D no Qt 6.0 por meio desta postagem do blog KDAB .
Até a próxima !!
Nenhum comentário:
Postar um comentário