Как я могу достичь высокого FPS с SurfaceView в Android? - PullRequest
0 голосов
/ 08 апреля 2020

Я создаю игру с очень простой графикой. Это все формы холста, и вся игра в одной нити. Я хочу достичь 60 FPS и выше (возможно, 90/120). Я знаю, что для этого требуется 16 миллисекунд или меньше на кадр.

Вот временные разбивки игры:

  • Logi c:> 1 мс

  • lockCanvas (): 13 мс

  • Рисование холста: 2 мс

  • unlockAndPostCanvas (): 5 мс

Общее количество кадров в кадре составляет около 18-20 миллисекунд. Это означает, что у меня около 57 FPS. Кроме того, это означает, что Logi c, рисование Canvas и unlockAndPostCanvas () могут находиться в одном потоке, а lockCanvas () - в другом. Это позволило бы каждому кадру длиться 13 мс, потому что lockCanvas () - самая медленная часть.

Кто-нибудь знает способ поместить lockCanvas () в отдельный поток или, что еще лучше, полностью исключить эти две медленные функции

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...