Suporte

Perguntas Frequentes

Respostas diretas sobre o tamanho do build, fontes, o atlas de glifos e o desempenho em runtime — extraídas de perguntas reais de programadores.

Tamanho do Build e Distribuição

O UniText aumenta o tamanho do meu build? O que é que acaba realmente no build?

O tamanho depende da plataforma, arquiteturas, stripping e compressão. Os atlas de glifos são gerados durante a execução. Os recursos de fontes contêm os seus próprios dados; os .ttf e .otf originais são referências do editor. Os players nativos leem uma cache em disco; WebGL incorpora os dados.

Preciso de manter e distribuir os ficheiros .ttf?

Os recursos de fontes contêm os seus próprios dados; os .ttf e .otf originais são referências do editor. Os players nativos leem uma cache em disco; WebGL incorpora os dados.

Preciso sequer de importar o .ttf para o meu projeto?

Não. Pode criar um UniTextFont a partir de um .ttf localizado em qualquer sítio do seu disco através da janela de ferramentas do UniText (a caixa de diálogo de ficheiros lê os bytes diretamente). Importar a fonte para o projeto é opcional.

Quanto é que o UniText adiciona, na realidade, a um build vazio?

O tamanho depende da plataforma, arquiteturas, stripping e compressão. Os atlas de glifos são gerados durante a execução.

Como é que o UniText se compara ao TextMesh Pro para CJK ou fontes grandes?

Seleção automática de fontes do sistema. Fontes próprias são opcionais em computadores e dispositivos móveis; WebGL usa fontes atribuídas. Novos glifos exigem rasterização e carregamento. Os glifos em cache são reutilizados até à invalidação ou remoção.

Posso carregar fontes dinamicamente a partir de um servidor ou CDN?

Sim — isso é da responsabilidade do programador, e o UniText não se intromete. Transfira os bytes da fonte com o seu próprio código (UnityWebRequest) e crie um UniTextFont a partir deles em runtime através de CreateFontAsset(byte[]). Para reduzir uma fonte apenas aos caracteres de que precisa (subsetting), use a ferramenta de build-time do UniText. Não existe um carregador automático de CDN integrado no pacote — isso é deliberadamente da responsabilidade do projeto, e não do motor.

Fontes e Fontes do Sistema

O UniText pode usar a fonte de sistema do SO? Qual é o custo em memória e no arranque?

Seleção automática de fontes do sistema. Fontes próprias são opcionais em computadores e dispositivos móveis; WebGL usa fontes atribuídas.

O WebGL suporta fontes de sistema?

Seleção automática de fontes do sistema. Fontes próprias são opcionais em computadores e dispositivos móveis; WebGL usa fontes atribuídas.

Font Memory Mapping

Ficheiros grandes de fontes são lidos do disco quando necessário, sem cópia completa na memória gerida. Fontes não utilizadas permanecem comprimidas. WebGL e fontes incorporadas no editor usam dados em memória. Fontes baseadas em ficheiros usam mapeamento de memória.

Fontes com píxeis exatos

Píxeis nítidos, deteção automática da grelha, efeitos e animações alinhados. Fontes pixel vetoriais e bitmap partilham o sistema de estilos. Múltiplos inteiros de Pixel Grid são exatos ao píxel. Snap To Pixel Grid alinha também efeitos e animações; desativá-lo permite movimento subpíxel.

Atlas de Glifos — SDF Detail e Tile Size

O que fazem, afinal, o “SDF Detail” e o “Tile Size Offset”?

Os glifos vivem em tiles de três tamanhos — 64, 128, 256 — e o tamanho é escolhido a partir da complexidade do contorno (muitos segmentos → 128/256, um contorno simples → 64). • O SDF Detail é um multiplicador da estimativa de complexidade. Aumente-o e um glifo já não trivial tem mais probabilidade de subir para um tile maior. (Uma forma genuinamente simples mantém-se em 64 — o multiplicador só afeta os glifos acima do limiar.) • O Tile Size Offset é um passo fixo ao longo da escala de tamanhos (64 escolhido + offset 1 → 128; intervalo −2..+2).

Qual dos dois devo priorizar para o desempenho?

Nenhum isoladamente — ambos apenas decidem o tamanho final do tile, e o custo é determinado unicamente por esse tamanho. Duas combinações que resultem no mesmo tamanho de tile custam exatamente o mesmo. Procure o menor tamanho de tile que ainda ofereça qualidade aceitável.

Desempenho em Runtime

Quando é que o UniText rasteriza os glifos? Copia memória a cada frame?

Novos glifos exigem rasterização e carregamento. Os glifos em cache são reutilizados até à invalidação ou remoção.

Porque é que há um breve engasgo quando muito texto novo aparece de uma só vez?

Novos glifos exigem rasterização e carregamento. Os glifos em cache são reutilizados até à invalidação ou remoção.

Não vejo nenhum job do UniText no Profiler — a multithreading está mesmo a funcionar?

Core coordena o texto antes da renderização. Os seus threads e Burst processam grandes cargas; alterações locais invalidam as etapas afetadas.

O MonoBehaviour.Update() prejudica o desempenho? É preciso um único UniTextManager?

Core coordena o texto antes da renderização. Os seus threads e Burst processam grandes cargas; alterações locais invalidam as etapas afetadas.

Apoio e discussões

O Discord é o canal principal para perguntas, ajuda e discussões. Para comunicar erros ou pedir novas funcionalidades, utilize o sistema público de registo de problemas.

Apoio e discussões: [email protected]