【问题标题】:OpenGL ES - Drawing one big or multiple small textures. What is better for performanceOpenGL ES - 绘制一个大的或多个小的纹理。什么对性能更好
【发布时间】:2019-05-02 08:53:47
【问题描述】:

前段时间我做了以下调查: 测量绘制多个纹理的性能。我得到了以下结果:

  1. 2 纹理 1920x720:~ 2 毫升
  2. 1 纹理 1920x720 + 2(960x720):~2 毫升
  3. 1 纹理 1920x720 + 2(960x720):~2 毫升
  4. 1 纹理 1920x720 + 4(960x360):~2 毫升 + 0.09 毫升
  5. 1 纹理 1920x720 + 3(960x720+480x360+480x360):~2 mls - 0.1 mls

测量是在 R-Car H2 SoC 上进行的,渲染时间测量是使用他们的软件进行的。所以我有以下问题,画什么比较好:

  1. 一张大图或几张小图(大小相同的小图)
  2. 一张大图或几张小图(大小不一的小图)
  3. 一个大网格或几个小网格(大小相同的小网格)
  4. 一个大网格或几个小网格(不同大小的小网格)

【问题讨论】:

    标签: performance opengl-es gpu


    【解决方案1】:

    您几乎总是可以假设批量工作是好的。如果你可以在更少的绘图调用中做同样的事情,那就去做吧。如果您可以进行更少的状态更改(纹理/VBO 交换),那么就这样做。

    要回答您的问题,请渲染一个大纹理,渲染一个大网格。

    【讨论】:

    • 一般来说是的,但正如我从测试中看到的,在某些情况下,一些图像可以更快地工作,对我来说这也很奇怪。你知道任何描述它必须是什么或它是特定于硬件的吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-06
    • 2011-08-11
    • 1970-01-01
    相关资源
    最近更新 更多