При инициализации моего контекста EGL \ GLES я использую полноэкранный режим. Затем мое приложение отображается в половинном разрешении и, наконец, перетаскивается на экран с помощью простого рисования.
Тем не менее, из соображений производительности, возможно ли инициализировать мой контекст в произвольном разрешении (например, в половине полного разрешения) и драйвер / аппаратное обеспечение обрабатывает переход к полноэкранному режиму?
Вы можете использовать аппаратное оборудование для Android за это.
То, как вы его используете, зависит от того, инициализируете ли вы EGL из Java или собственного кода C ++:
// java
surfaceView.getHolder().setFixedSize(1280, 720);
// native
int32_t ret = ANativeWindow_setBuffersGeometry(window, 1280, 720, 0);
Использование аппаратного масштабатора обычно обеспечивает лучшее качество масштабирования, лучшую производительность и меньшее энергопотребление, чем использование цели рендеринга.
Других решений пока нет …