在 Android NDK 中创建以半分辨率呈现的全屏应用程序的最佳方法是什么?
What is the best way for creating a fullscreen app in Android NDK which renders in half resolution?
初始化我的 EGL\GLES 上下文时,我使用全屏。然后,我的应用程序以一半的分辨率呈现,最后使用简单的绘图将其显示到屏幕上。
但是,出于性能原因,是否可以在任意分辨率(例如全分辨率的一半)中初始化我的上下文并让 driver\hardware 处理 blit 到全屏?
您可以为此使用 android hardware scaler。
您使用它的方式取决于您是从 java 还是本机 C++ 代码初始化 EGL:
// java
surfaceView.getHolder().setFixedSize(1280, 720);
// native
int32_t ret = ANativeWindow_setBuffersGeometry(window, 1280, 720, 0);
与使用渲染目标相比,使用硬件缩放器通常可以提供更好的缩放质量、更好的性能和更少的能源使用。
初始化我的 EGL\GLES 上下文时,我使用全屏。然后,我的应用程序以一半的分辨率呈现,最后使用简单的绘图将其显示到屏幕上。
但是,出于性能原因,是否可以在任意分辨率(例如全分辨率的一半)中初始化我的上下文并让 driver\hardware 处理 blit 到全屏?
您可以为此使用 android hardware scaler。
您使用它的方式取决于您是从 java 还是本机 C++ 代码初始化 EGL:
// java
surfaceView.getHolder().setFixedSize(1280, 720);
// native
int32_t ret = ANativeWindow_setBuffersGeometry(window, 1280, 720, 0);
与使用渲染目标相比,使用硬件缩放器通常可以提供更好的缩放质量、更好的性能和更少的能源使用。