我们正试图在原生屏幕尺寸为1080p的设备上运行复杂的OpenGL应用。不幸的是,该设备的3D芯片组对于这种尺寸的帧速率来说还不够好。
我们更喜欢做的是720p(或更低)的渲染,然后进行硬件加速升级以填充屏幕。
我知道Android可以使用2D内容自动执行此操作(使用ANativeWindow_lock()和朋友)。有没有办法自动为3D内容执行此操作?
答案 0 :(得分:1)
对于GLSurfaceView,请使用:
surfaceView = new GLSurfaceView(this);
surfaceView.getHolder().setFixedSize(1280, 720);
对于NativeActivity,请使用:
int32_t ret = ANativeWindow_setBuffersGeometry(window, 1280, 720, 0);
在以下博文中找到:
Android Developers Blog - Using the Hardware Scaler for Performance and Efficiency