Я пишу приложение, и я столкнулся с низким fps, я обнаружил, что почти все процессорное время используется методами spriteBatch.draw () (около тысячи вызовов). Итак, я создал простое приложение для рисования
public void render() {
spriteBatch.begin();
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
for (int i = 0; i < 2000; i++) {
spriteBatch.draw(tex, 0, 0);
}
spriteBatch.end();
}
Приложение работает со скоростью 18 кадров в секунду.
когда я увеличиваю размер окна, чтобы он почти заполнял весь экран, число кадров в секунду падает до 7 !, когда размер окна меняется очень маленьким, он работает на 60 кадрах в секунду, в полноэкранном режиме я получаю 20 кадров в секунду (1600x900) - лучше, чем развернутое окно
Я использую только одну текстуру (512, 512 - png), maxRenderCalls на spriteBatch - 2, 5 на polygonSpriteBatch - оба одинаковых FPS
отключено смешивание -> без изменений, тот же FPS
Это нормально, что 2k спрайтов падает на 20 кадров в секунду на рабочем столе? - (Процессор Core i5-3210M (2,50 ГГц, 1600 МГц, 3 МБ), NVIDIA® GeForce® GT630M)
Это нормально, что изменение размера окон влияет на производительность?