2015-01-03 32 views
0

直接寫入幀緩衝區不再有效。無論如何要寫入NDK的顯示器?我可能使用ANativeWindow,但需要一個現有的表面。有沒有更好的辦法?或者是本地創建曲面的唯一方法,然後使用ANativeWindow?從ndk寫入Android顯示屏

回答

2

該顯示器由SurfaceFlinger和Hardware Composer所有,所以除非您計劃停止Android框架,否則您需要完成這些工作。 (有關更多詳細信息,請參見graphics architecture doc)。

如果您正在開發以「shell」或「root」身份運行並且不介意使用非公共接口的獨立命令,那麼您可以向SurfaceFlinger詢問一個窗口並在其上繪圖。從5.0「Lollipop」開始,舊的GLES測試更新爲以這種方式工作。請參閱this answer指針; San Angeles演示是說明性的。

如果您正在開發常規應用程序,則必須創建一個Surface並通過ANativeWindow對其進行渲染。普通應用程序不允許獨佔訪問顯示器。

+0

很好的答案。這回答了我的問題和我以後的任何問題! –