如何在 GFlops 中估计 OpenGL ES 着色器/金属性能

Posted

技术标签:

【中文标题】如何在 GFlops 中估计 OpenGL ES 着色器/金属性能【英文标题】:How to estimate OpenGL ES shader/Metal performance in GFlops 【发布时间】:2020-03-15 07:27:57 【问题描述】:

如何在 GFlops 中估计 OpenGL ES 着色器/Metal 性能?

iPhone X GPU 理论上被认为具有 350 GFlops。 (参考来自http://blog.filippkeks.com/2017/09/21/horrors-of-mobile-graphics.html

我想要我的 OpenGL ES 着色器/Metal 代码可以实现多少 GFlops。

有没有办法检查 ios/Xcode 的 GFlops 性能?

【问题讨论】:

"我想我的 OpenGL ES 着色器/Metal 代码可以实现多少 GFlops。" 有关系吗? Flops 并不是一个衡量着色器速度的有用指标。仅测量着色器的速度要有用得多。最终,着色器的实际性能才是最重要的。 【参考方案1】:

我认为您可以在不同的设备上运行代码,并记录您编写代码所需的时间。然后通过它在其规范中声明的设备的 GFlops 计算 GFlops。

例如,在一个 200GFlops 的设备上运行需要 10ms,你可以计算出你的代码需要 2GFlops。然后你知道在另一个 300GFlops 设备上,你的代码可能需要 6.6ms。这不是很准确,只是为了估计您在不同设备上的代码运行时间。

【讨论】:

以上是关于如何在 GFlops 中估计 OpenGL ES 着色器/金属性能的主要内容,如果未能解决你的问题,请参考以下文章

如何在 UIView 中绘制 opengl es

OpenGL ES 学习教程 使用开源库 Assimp 将 Obj 模型 转换成自己的格式

如何在Android上使用OpenGL ES 2.0绘制点

如何在Android上将OpenGL ES 1.0代码转换为OpenGL Es 2.0?

如何在模板中使用深度纹理,OpenGL ES 3.0

在 OpenGL ES 中,如何将绘图“剪辑”到矩形?