在安卓NDK中创建全屏应用程序的最佳方式是什么

What is the best way for creating a fullscreen app in Android NDK which renders in half resolution?

本文关键字:应用程序 最佳 方式 是什么 NDK 创建      更新时间:2023-10-16

初始化EGL\GLES上下文时,我使用全屏。然后,我的应用程序以半分辨率呈现,最后使用简单的绘制将其闪电式地显示到屏幕上。

然而,出于性能原因,是否可以以绝对分辨率(例如,全分辨率的一半)初始化我的上下文,并让驱动程序\硬件处理到全屏的blit?

您可以使用android硬件缩放器进行此操作。

使用它的方式取决于您是从java还是从本机C++代码初始化EGL:

// java
surfaceView.getHolder().setFixedSize(1280, 720);
// native
int32_t ret = ANativeWindow_setBuffersGeometry(window, 1280, 720, 0);

与使用渲染目标相比,使用硬件缩放器通常可以获得更好的重缩放质量、更好的性能和更少的能耗。