2015-11-13 27 views
7

Mam przycisk na płótnie, a kiedy ustawiam przycisk tekstowy z tekstem w języku angielskim, działa poprawnie, ale po ustawieniu z tekstem tajskim, opóźnia do 6 sekund (zły występ).Wydajność jest bardzo zła, gdy ustawiono etykietę z tekstem tajlandzkim w Unity

Najpierw pomyślałem, że to dlatego, że ładuję wiele dźwięków i obrazów, ale po usunięciu wszystkich z nich wciąż jest powolny, a jeśli zmienię mój tajski tekst, działa szybko.

Czy ktoś wie, jak rozwiązać ten problem?

public Text text; 

void Start() { 

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

} 

Próbowałem zmienić czcionkę (czcionka Thonburi), ale bez wpływu. Tak więc, moim rozwiązaniem jest zmiana tekstu na obraz, co jest złym rozwiązaniem, ale nie może znaleźć żadnych przydatnych sposobów.

+0

Spróbuj wypełnić pole tekstowe w inspektorze za pomocą każdego znaku, który zawiera ta czcionka. –

+0

Ten sam problem występuje po wprowadzeniu tego tekstu do inspektora. działa raczej szybko w edytorze, ale bardzo wolno w iOS. po zmianie obrazu obciążenia zamiast tekstu ten problem został naprawiony. –

+1

Tutaj [link] (http://forum.unity3d.com/threads/4-6-3-dynamic-font-rendering-performance-issues-on-99.22020/) znalazłem coś na temat tekstu performacne na iOS, może to pomaga. –

Odpowiedz

1

Najnowsza wersja Jedności ma jakiś problem z wydajnością na azjatyckich czcionek należytym częste wezwania iphone::GetFontPath() w RequestCharactersInTexture

Możliwym rozwiązaniem jest śledzenie wszystkich znaków używanych w aplikacji (mam skrypt, który to zrobić) i ustawić specjalną czcionką jako custom set ze wszystkimi wykorzystywanymi znakami.

Jest bardzo trudny w utrzymaniu, ale poprawia wydajność.

0

To jest metoda z hacką, ale jeśli masz tylko kilka wierszy tekstu, które potrzebujesz i możesz je ustalić z wyprzedzeniem, możesz po prostu załadować je wszystkie przy uruchomieniu z przezroczystym kolorem lub z ekranu, a następnie zmień kolor lub przenieś go, kiedy go potrzebujesz.