Android OpenGL-ES 3d оптимизация игры - PullRequest
0 голосов
/ 25 апреля 2011

У меня есть игровой движок, но он очень медленный. Я получаю 60-80 текстурированных квадратов (2 треугольника с наложением) примерно 30-40 кадров в секунду на моей галактике. Это живые обои. У меня на Легенде всего 10-20 FPS на 80 предметов ...

Я использовал VBO, отбраковку и другие оптимизации. (я попробовал текстурный атлас, ту же скорость, что и для связывания текстур ...)

что я могу там сделать?

1, если я использую собственный код рендеринга opengl, это ускорит мой рендеринг? 2, если я использую сжатые текстуры PVRTC, а не png-s, это ускорит рендеринг? как я могу это сделать?

что я могу сделать?

Ответы [ 2 ]

1 голос
/ 26 апреля 2011

Нет графического процессора, насколько мне известно, изначально поддерживает изображения PNG в качестве формата текстур. Они неизменно распаковываются API / драйвером в ARGB (вероятно, @ 32bpp), поэтому произойдет удар с точки зрения объема памяти и, что более важно, потребления полосы пропускания. PNG действительно только покупает вам сокращение с точки зрения распределения приложения и места для хранения флэш-памяти.

При условии, что вы не безумно одержимы качеством изображения, используя некоторую форму сжатия текстур (с потерями), скажем, PVRTC (4bpp или 2bpp) или, возможно, ETC (4bpp), вероятно, выиграют в производительности.

1 голос
/ 25 апреля 2011

Да ... Я полагаю, что вы должны значительно ускориться, если переключитесь на использование NDK для OpenGL. Что касается PVRTC ... Я не уверен на 100%, так ли это. Это формат, оптимизированный для чипсетов PowerVR ... так что да ... это отлично подходит для различных телефонов Galaxy S ... но каждый телефон с процессором Snapdragon работает на своем графическом процессоре (Adreno). Я понятия не имею, сможет ли это эффективно использовать графический процессор Adreno.

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