Especialista da Unreal Engine lança a iniciativa “Great Hitch Hunt” para eliminar travamentos em jogos de UE e oferece dicas para desenvolvedores

Especialista da Unreal Engine lança a iniciativa “Great Hitch Hunt” para eliminar travamentos em jogos de UE e oferece dicas para desenvolvedores

Enfrentando problemas de gagueira em jogos da Unreal Engine: insights do Unreal Fest 2025

No Unreal Fest 2025, realizado em Orlando, Flórida, o engenheiro de software sênior Ari Arnbjörnsson abordou um problema crítico para os jogadores de PC: travamentos em jogos desenvolvidos com a Unreal Engine. Com o lançamento de vários títulos recentes marcados por problemas de desempenho, a comunidade gamer tem se questionado sobre a resposta da Epic Games a esse problema persistente.

O cerne da questão: ‘A Grande Caçada à Carona’

Em sua apresentação com temática intrigante intitulada “A Grande Caçada de Carona”, Arnbjörnsson vestiu uma fantasia de caçador de bruxas e desafiou os desenvolvedores a eliminarem ativamente as causas da gagueira. Ele descreveu sete fatores principais que contribuem para essas interrupções na jogabilidade e apresentou práticas recomendadas para desenvolvedores que buscam aprimorar o desempenho.

Identificando os culpados da gagueira

1. Problemas de streaming de nível

O primeiro grande culpado é o Level Streaming, que abrange vários problemas relacionados ao carregamento e descarregamento dinâmicos de ambientes de jogo. Arnbjörnsson observou que o uso indevido de atores de malha estática — como objetos complexos como mesas e utensílios — pode prejudicar significativamente o desempenho do jogo, especialmente em mundos AAA expansivos. Para mitigar esses problemas, ele defendeu o uso de malhas estáticas instanciadas (ISMs) ou malhas estáticas instanciadas hierárquicas (HISMs), bem como a utilização do recurso de atores de nível compactados para condensar inúmeras malhas estáticas em menos atores, que consomem menos recursos. Além disso, ele mencionou os próximos avanços nos Cell Transformers da Unreal Engine 5.5, projetados para converter automaticamente atores de malha estática em malhas instanciadas em tempo de execução.

2. Otimização da Física

Outra fonte de problemas surge do processamento relacionado à física. Os desenvolvedores frequentemente subestimam a necessidade de otimização, especialmente após a introdução da tecnologia Nanite na Unreal Engine 5, o que leva à suposição de que malhas complexas funcionarão perfeitamente. Em vez disso, Arnbjörnsson recomenda o uso de formas de colisão mais simples — começando com esferas, depois cápsulas, depois caixas e, por fim, polígonos convexos. Ele também enfatizou a importância de desabilitar as interações físicas para objetos distantes e não interativos. O recurso experimental de Inicialização de Física Assíncrona da Epic visa aliviar a carga de física na thread do jogo, mas os desenvolvedores são aconselhados a abordá-lo com cautela.

3. Atrasos na geração de atores

Atrasos na geração de atores representam o próximo desafio significativo. Atores pesados equipados com múltiplos componentes, como modelos de personagens, podem causar quedas perceptíveis nas taxas de quadros durante sua inicialização. Para resolver isso, Arnbjörnsson sugeriu limitar o número de atores gerados a cada quadro, adiar a ativação dos componentes dos atores e implementar estratégias de agrupamento de atores para reutilizar objetos existentes em vez de destruí-los e recriá-los repetidamente. Embora a implementação do agrupamento de atores como um recurso padrão na Unreal Engine esteja sendo considerada, os desenvolvedores são atualmente incentivados a criar agrupamentos personalizados para seus tipos específicos de atores.

4. Compilação de Objeto de Estado de Pipeline (PSO)

Uma das causas mais comuns de travamentos está relacionada à compilação do Pipeline State Object (PSO).Ao contrário dos consoles, que possuem configurações de hardware uniformes, os PCs enfrentam desafios com a compilação de shaders durante o jogo, o que leva a travamentos quando os shaders precisam ser compilados em tempo real. Embora o pré-cache do PSO tenha sido introduzido na Unreal Engine 5.3 para amenizar esse problema, os desenvolvedores ainda precisam desenvolver suas próprias estratégias de compilação do PSO e utilizar ferramentas como o plugin PSO Cache Buster para otimizar ainda mais o desempenho.

5. Picos de coleta de lixo

A Coleta de Lixo também pode causar problemas de desempenho quando há um acúmulo excessivo de instâncias de UObject não utilizadas, prolongando o processo de coleta de lixo. Os desenvolvedores devem gerenciar ativamente as contagens de UObject e programar a coleta de lixo de forma inteligente para minimizar interrupções. A Epic está atualmente explorando um recurso experimental de Análise de Acessibilidade Incremental, com o objetivo de distribuir as tarefas de coleta de lixo em vários quadros para aliviar esses problemas.

6. Engates de Carga Síncronos

Problemas de carregamento síncrono ocorrem quando a thread do jogo é paralisada por bloqueios no carregamento de ativos, resultando em interrupções frustrantemente longas. Para combater isso, os desenvolvedores devem empregar rigorosamente técnicas de carregamento assíncrono e usar validadores de ativos como o CommonValidators de Arnbjörnsson para rastrear comportamentos de carregamento problemáticos. As versões 5.4 e 5.5 da Unreal Engine visam melhorar a situação introduzindo recursos que permitem a limpeza parcial de filas assíncronas.

7. Problemas com o Blueprint e o Conteúdo

Por fim, o desempenho pode ser prejudicado por Blueprints e scripts de conteúdo excessivamente complexos, que podem envolver temporizadores excessivos, atualizações frequentes ou sequências exageradas. Para ajudar os desenvolvedores, a Epic está aprimorando a ferramenta Unreal Insights, facilitando a visualização e a correção de gargalos de desempenho nos projetos.

Conclusão: Abraçando os desafios da otimização

Ao concluir sua apresentação, Arnbjörnsson enfatizou que, embora os avanços tecnológicos remodelem continuamente o cenário dos jogos, os desenvolvedores devem permanecer cientes das limitações inerentes. Estratégias eficazes de otimização e resolução criativa de problemas continuam sendo essenciais para proporcionar as experiências de jogo mais fluidas possíveis. Sua sessão teve como objetivo não apenas informar, mas também inspirar os desenvolvedores a tomar medidas contra problemas de gagueira em seus projetos.

Para mais detalhes, assista à palestra completa

.

Fonte e Imagens

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *