2013-01-13 97 views
0

我們正試圖在本機屏幕尺寸爲1080p的設備上運行復雜的OpenGL應用程序。不幸的是,該設備的3D芯片組在這種尺寸下的幀率並不夠好。使用NativeActivity硬件縮放OpenGL表面

我們更願意做的是720p(或更低)的渲染,然後做硬件加速升級以填充屏幕。

我知道Android可以通過2D內容(使用ANativeWindow_lock()和朋友)自動執行此操作。有沒有辦法自動爲3D內容做到這一點?

+0

會渲染到更小尺寸的FBO - 然後將其內容全屏顯示,爲您做好準備? – harism

+0

是的,但如果可能的話,我真的想避免這種情況--- Android上的離屏表面是一團糟:http://blog.vlad1.com/2010/07/01/how-to-go-mad同時嘗試渲染到紋理/它會爆炸成百萬個不同的難以測試的代碼路徑。因此,我對內置機制的渴望...... –

+0

我一直在使用FBO很多次,從未發現任何問題。無論如何,它們是以較小分辨率AFAIK呈現的唯一方法。使用FBO僅添加FBO創建代碼 - 呈現給FBO - 並將FBO複製到屏幕緩衝區。不應該有太多的邏輯參與,這使得測試比沒有FBO更困難。 – harism

回答