【问题标题】:Android : Single SurfaceView vs multiple SurfaceViewAndroid:单个 SurfaceView 与多个 SurfaceView
【发布时间】:2017-02-09 09:50:42
【问题描述】:

我正在尝试在相机预览帧 (Android) 上绘制 3D 对象。我应该使用两个表面视图,一个用于相机预览,另一个 GLSurfaceView 用于绘图。视图应该是同步的,并且显示的帧速率应该足够好,以提供良好的用户体验。所以大多数教程都在讨论使用多个视图。另一种想法是从相机预览中获取纹理并将其与要绘制的 3D 对象合并,以获得适当的 2D 光栅图像。 哪种方法会更好地提高性能?

P.S : 我将使用用于 openGL es 2.0 的 Java API

【问题讨论】:

    标签: android opengl-es-2.0 surfaceview


    【解决方案1】:

    由于两个表面视图会增加每帧的 API 调用次数并且需要透明度,因此它们会变慢。

    您的目的不需要两个表面视图。

    1. 禁用深度写入。
    2. 在填充屏幕的 2D 四边形上渲染相机预览。
    3. 启用深度写入。
    4. 渲染 3D 对象。

    这将确保您的 3D 对象在相机预览上呈现。

    您也可以通过两个表面视图和透明度来实现此目的,但会慢一些。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-13
      • 1970-01-01
      相关资源
      最近更新 更多