Skip to content

FAQ & Resolução de Problemas

Esta secção recolhe respostas às perguntas mais frequentes e soluções para problemas típicos encontrados durante a otimização de WebGL.

Instalação e Cena de Demonstração

P: Eu abri a cena de demonstração, mas todos os materiais e objetos estão cor-de-rosa!

R: O seu projeto usa URP, enquanto a cena de demonstração é configurada por padrão para BiRP. Simplesmente extraia o pacote localizado em WebAdaptivePerformance/Demo/Import Me (URP).unitypackage. Os shaders serão atualizados automaticamente.

P: Instalei o plugin, mas visualmente, absolutamente nada muda no jogo.

R: Analise a seguinte checklist:

  • O plugin está ativado em Project Settings? Os Scalers estão adicionados e ativos?
  • Os gráficos do Unity estão originalmente configurados no máximo? O plugin não tem nada a reduzir se as configurações já forem baixas.
  • Talvez o dispositivo lide perfeitamente com a carga, e o FPS seja estável. Adicione o prefab Dashboard à cena para observar as decisões em andamento do Indexer.
  • Se tudo estiver configurado corretamente mas não há efeito — contacte-nos e nós iremos ajudar com a resolução de problemas.

Resolução e Interface (UI)

P: A resolução não está a mudar (Resolution Scaler inativo).

R: As duas razões mais vulgares:

  1. Se está a usar BiRP e o modo RenderTextureScaling: analise o array Target Tags nas configurações do Scaler. Se a câmara do seu jogo tiver um nome diferente (não MainCamera), precisa inserir a tag respetiva. Caso contrário, o plugin não conseguirá localizá-la.
  2. O modo NativeBrowserScaling apenas opera numa build WebGL renderizada final. Ele não faz nada no Unity Editor.
P: Quando os FPS descem, a minha UI também fica distorcida/turva!

R: Confirme se em BiRP, tem o RenderTextureScaling selecionado. O próprio Canvas necessita de ser definido em modo Screen Space - Overlay (ou use uma câmara dedicada só para a UI).

P: Botões UI normais funcionam bem, mas os meus cliques do rato (customizados) em objetos 3D estão errados.

R: Os eventos padrão de EventSystem são perfeitamente reparados pelo nosso componente WebScaledPhysicsRaycaster. Porém, se estiver a chamar raycasts manuais por código (Camera.ScreenPointToRay()), eles falharão a posição do clique porque a resolução da tela não corresponde à renderizada. Para este efeito aplique o método do nosso plugin: WebRaycasterUtility.TryComputeScaledRay().

Métricas e Comportamento do Sistema

P: A qualidade gráfica diminuiu por causa de atrasos. Atualmente, os FPS estão altos novamente, mas os gráficos não estão a recuperar!

R: É bastante provável que o Anti Yo-Yo Penalty System tenha sido ativado. O plugin bloqueou temporalmente melhorias visuais a fim de impedir instabilidade (Quality flickering).

  • Se deseja que os gráficos se estabilizem com mais celeridade, reduza o limite do parâmetro Penalty Lockout Duration (ex., passe para 10 segundos).
  • Reveja também o Increase Cooldown — poderá possuir tempos de espera altos demais.
P: O Dashboard insiste num Gargalo de CPU (CPU Bottleneck) ou Unknown de forma continuada, apesar da cena estar limpa.

R: Não se esqueça de ativar as Frame Timing Stats no Player Settings. Posteriormente verifique de igual forma se o Application.targetFrameRate = -1. Ao retirar os travões ao refrescamento temporal, liberta e isola as métricas contra abrandamentos induzidos pelo setTimeout do navegador.

P: A minha personagem (ou os adereços físicos) engasgam-se ou dão soluços com "lags" fortes.

R: Isto resulta colateralmente devido à ativação forçada do Physics Step Scaler. Ele modula a base do Time.fixedDeltaTime por modo a prevenir colapsos na CPU perante sobrecargas drásticas de desempenho. Garanta e assegure transições puramente fluidas ativando de urgência a preferência (mode) de Interpolate residente na aba do componente Rigidbody de qualquer dos personagens da cena.

P: Os Shadow Scalers (Sombras) mantêm-se instigados, todavia a performance permanece decrescente e as sombras intactas.

R: Os ditos plugins supervisionam e operam apenas mediante reflexões dinâmicas diretas em tempo corrente (Realtime). Opcionalmente e sempre que uma configuração de "iluminação no mapa se apresente pré-calculada (Baked/Lightmaps)" esta permanecerá insensível.

Scalers Customizados

P: O meu próprio Scaler opera majestosamente no modo Editor, contudo na versão Build WebGL o mesmo pura e simplesmente "esfuma-se"!

R: Sob procedimentos internos normais o integrador de arquitetura IL2CPP aniquilou em escassa conformidade tal vertente por julgar constar código sem finalidade ("dead code"). Proceda na inclusão obrigatória mediante o prefixo de declaração (attribute) [UnityEngine.Scripting.Preserve] adjacente na margem cimeira a encabeçar a classe principal do Custom Scaler que criou.