2015-11-13 1 views
7

J'ai un bouton dans un canevas, et quand je place le bouton de texte avec le texte anglais, cela fonctionne correctement, mais quand réglé avec le texte thaïlandais, il retarde jusqu'à 6 secondes (mauvaise performance). D'abord, je pensais que c'était parce que je charge beaucoup de sons et d'images, mais après les avoir tous supprimés, c'est toujours lent, et si je change de texte en thaï, ça marche vite.La performance est très mauvaise quand on place l'étiquette avec le texte thaïlandais dans Unity

Est-ce que quelqu'un sait comment résoudre ce problème?

public Text text; 

void Start() { 

    text.text = "เพลงจิ้งจก"; 

} 

J'ai essayé de changer la police (police Thonburi), mais pas d'effet. Donc, ma solution est de changer ce texte en image, ce qui est une mauvaise solution mais ne trouve aucun moyen utile.

+0

Essayez de remplir le champ de texte dans l'inspecteur avec chaque caractère que cette police contient. –

+0

C'est le même problème lorsque je saisis ce texte dans l'inspecteur. il tourne plutôt vite dans l'éditeur mais très lent dans iOS. après avoir changé l'image de chargement au lieu de ce texte, ce problème est résolu. –

+1

Ici [link] (http://forum.unity3d.com/threads/4-6-3-dynamic-font-rendering-performance-issues-on-ios.299220/) j'ai trouvé quelque chose à propos du texte performacne sur iOS, peut-être que ça aide. –

Répondre

1

Dernière version de l'unité a un certain problème de performance sur appel fréquents à cause de la police asiatique de iphone::GetFontPath() dans RequestCharactersInTexture

Une solution possible est de suivre tous les caractères utilisés sur l'application (je script qui le font) et définir une police spéciale comme custom set avec tous les caractères utilisés.

Il est très difficile à entretenir mais améliore les performances.

0

Ceci est une méthode hacky, mais si vous avez seulement quelques lignes de texte dont vous avez besoin et qui peuvent être déterminées à l'avance, vous pouvez simplement les charger au démarrage avec une couleur transparente ou hors écran, puis changez la couleur ou déplacez-la quand vous en avez besoin.