Анимация просмотра Android поверх GLSurfaceView идет медленно - PullRequest
0 голосов
/ 09 февраля 2011

Мы заметили, что когда вы помещаете представления Android с анимацией представления (ничего сложного, только AlphaAnimation и TranslateAnimation) поверх GLSurfaceView, анимация запускается медленно (т.е. вы видите много заиканий). Я вызываю pause () в GLSurfaceView, и я полагаю, что я подтвердил (посредством установки точек останова), что вызовы отрисовки GL не попадают во время воспроизведения анимации, поэтому я не уверен, откуда происходит медлительность.

Кто-нибудь знает способ обойти это?Я знаю, что на iPhone это тоже было проблемой, но было сделано какое-то обновление ОС, которое они сделали, чтобы решить эту проблему.Это анимации с коротким обзором (например, Вы выигрываете!), Так что это не самая плохая вещь в мире, но было бы неплохо, если бы был какой-то обходной путь.они должны иметь возможность запускаться из любого действия в нашей игре, и не все наши действия имеют GLSurfaceViews.

Наконец, если это имеет значение, мы используем модифицированный источник GLSurfaceView с острова реплики http://code.google.com/p/replicaisland/

1 Ответ

4 голосов
/ 09 февраля 2011

Рисование поверх GLSurfaceView происходит медленно, поэтому анимация тоже. Вы заставляете каркас выполнять больше работы, чтобы определить, какая часть вида поверхности видима.

Вы действительно должны рассмотреть возможность создания этих анимаций внутри вида поверхности, когда вы используете вид поверхности.

Альтернативой является размещение анимации в небольшом окне над вашей деятельностью.

...