Я расширил GLSurfaceView и реализовал свой собственный GLSurfaceView.Renderer, чтобы создать мою первую относительно простую 2D игру OpenGLES для Android.
Я тестировал свою игру, используя следующий код для метода деятельностей onCreate, который устанавливает представление поверхности как представление контента, из которого я получил постоянные 60 кадров в секунду.
60 кадров в секундуактивность:
mGLView = new OpenGLTest1SurfaceView(this);
setContentView(mGLView);
Однако теперь я перешел на макет XML, чтобы я мог разместить наложение в правом нижнем углу экрана,
admob xml:
<Frame Layout...
<...OpenGLTest1SurfaceView...
<com.google.ads.adView...
admob активность:
setContentView(R.layout.main);
Теперь я приложение колеблется между 43fps и 60fps с, казалось бы, случайными интервалами.Я посмотрел на LogCat и GC не работает чрезмерно (один раз каждые 20 секунд или около того).
- Должен ли я ожидать более низкую частоту кадров при перемещении моего вида поверхности в макет XML?
- Есть ли альтернативный способ показа рекламных объявлений без использования макета XML?
- Могу ли я что-нибудь сделать, чтобы определить, почему FPS моего приложения в определенное время понижается?
Любая помощь будет принята с благодарностью, потому что я хотел бы иметь возможность монетизировать свои приложения OpenGL вближайшее будущее.