Wydaje się, że jest to problem związany z GPU w przypadku pożaru i byłbym wdzięczny za każdą pomoc lub sugestie.Kindle Uszkodzenia i korupcja tekstur przy 60 fps
W przeważającej części moja gra obrony wieży jest w stanie uruchomić 60 klatek na sekundę, nawet z dziesiątkami wrogów i wież strzelających w każdą stronę. Jednak w pozornie przypadkowych czasach (nawet bez niczego - jak siedzenie w głównym menu) bardzo równomiernie rozmieszczone przegrania 400ms zatrzymują grę w odstępie około 2-3 sekund. Nagle zaczepy znikną, a bloki o wymiarach 16x16 pikseli będą losowo renderowane.
Te 2 usterki wydają się wzajemnie wykluczać i, jak powiedziałem, mogą być uruchamiane po prostu przez uruchomienie gry i przejście z menu głównego do ekranu wyboru poziomu, w którym minimalne zasoby są załadowane i mała logika gry dzieje się. Używam OpenSL do efektów dźwiękowych i zauważyłem, że wyłączenie sfx zmieniło czas trwania zaczepu na 280ms.
Następnie ręcznie wymusiłem szybkość klatek na sekundę z 60 fps na 30 fps (wstawiając uśpienie w pętlę zaznaczania ramki), a oba błędy ustąpiły całkowicie.
Oto przykrywka ekranu pokazująca teksturę, która nie jest renderowana. Ten błąd występuje na wszystkich 32-bitowych powierzchniach renderowania, niezależnie od wartości głębokości/szablonu i tego, czy kolor jest wyraźny czy nie.
Dziękujemy!
EDYTOWANIE: W rzeczywistości, migotanie tekstur dzieje się w każdym framerate, jednak gdzieś pomiędzy 40 a 45 fps, zaczep 400ms znika.
Co z innymi limitami FPS? na przykład 45/75 –
W rzeczywistości, migotanie tekstur dzieje się przy każdej klatce, jednak gdzieś pomiędzy 40 a 45 klatek na sekundę, zaczep 400ms odchodzi ... Są bardzo powiązane, ale nie całkowicie wykluczające się z prędkością 60 klatek na sekundę. Częstość ich przyjazdów i wypadków jest silnie skorelowana. – Ajas