2015-11-13 20 views
7

Ho un pulsante in una tela e quando si imposta il pulsante di testo con testo inglese, funziona correttamente, ma se impostato con testo tailandese, ritarda fino a 6 secondi (cattiva prestazione).Le prestazioni sono pessime quando si imposta un'etichetta con testo tailandese in Unity

Per prima cosa ho pensato che fosse perché caricavo molti suoni e immagini, ma dopo averli rimossi tutti, è ancora lento, e se cambio il mio testo tailandese, funziona velocemente.

Qualcuno sa come risolvere questo problema?

public Text text; 

void Start() { 

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

} 

Ho provato a cambiare il tipo di carattere (carattere Thonburi), ma nessun effetto. Quindi, la mia soluzione è quella di cambiare il testo per l'immagine, che è una soluzione sbagliata ma non riesce a trovare alcun modo utile.

+0

Prova a riempire il campo di testo nell'ispettore con ogni carattere che questo carattere contiene. –

+0

È lo stesso problema quando inserisco quel testo in ispettore. funziona piuttosto velocemente nell'editor ma è molto lento in iOS. dopo aver cambiato l'immagine del carico anziché quel testo, quel problema è stato risolto. –

+1

Qui [link] (http://forum.unity3d.com/threads/4-6-3-dynamic-font-rendering-performance-issues-on-ios.299220/) ho trovato qualcosa sul testo performacne su iOS, forse questo aiuta –

risposta

1

Ultima versione di Unity ha qualche problema di prestazioni su asiatico carattere causa frequente richiamo della iphone::GetFontPath() in RequestCharactersInTexture

Una soluzione possibile è tenere traccia di tutti i caratteri usati su richiesta (ho script che lo fanno) e impostare un tipo di carattere speciale come custom set con tutti i caratteri utilizzati.

È molto difficile da mantenere ma aumenta le prestazioni.

0

Questo è un metodo hacky, ma se hai solo poche righe di testo che ti servono e possono essere determinate in anticipo, puoi caricarle tutte all'avvio con un colore trasparente o fuori dallo schermo, quindi cambia il colore o spostalo quando ne hai bisogno.