首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多少个像素着色器周期对于iPad2来说太重了

多少个像素着色器周期对于iPad2来说太重了
EN

Stack Overflow用户
提问于 2012-05-31 07:38:14
回答 1查看 539关注 0票数 2

使用PVRUniScoEditor来分析我们的像素着色器,我发现我们的frag着色器对于大多数多边形来说大约是20个周期,对于are粒子来说是6-8个周期。就性能而言,这似乎是我们的黄油区,但我现在想知道,我是否通过使这些着色器尽可能简单来掩盖其他问题。我会很高兴在这些家伙中有更多的功能。我们正在渲染一个有大约120k个多边形的场景,并且使顶点着色器更重对性能几乎没有影响。

所以我想知道对于一个使用非常频繁的frag着色器来说,多少是太多了,而对于30fps的多边形来说,多少是太多了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-31 09:40:59

这个问题没有一个正确的答案。虽然PVRUniScoEditor是一个相对估计着色器性能的很好的工具,但你不能仅仅说消耗X个估计周期的片段着色器会导致给定设备上的Y帧率。

一个特定的着色器可能有多重只是拼图中的一部分。它会在屏幕上覆盖多少个片段?您在片段处理方面是否存在性能瓶颈( OpenGL ES驱动程序仪器中的渲染器利用率接近100%)?混合是否已启用?所有这些因素都会影响渲染帧所需的时间。

iOS上基于平铺的延迟渲染器还具有一些有趣的性能特征,其中调整特定片段着色器的循环计数不会导致渲染时间的线性更改,即使对于填充速率受限的应用程序也是如此。您可以在this question of mine中看到一个这样的示例,在那里我遇到了性能突然变化,片段着色器的细微变化。在这种情况下,调整着色器不是主要的解决方案,防止不必要的碎片混合是主要的解决方案。

除了分析器报告的直接周期计数之外,还有纹理带宽的限制,以及我发现缓存未命中可能在这些着色器中产生的严重影响。

我想说的是,了解应用程序中着色器的性能的唯一真正方法是运行它们并查看它们。有一些通用的提示可以用来调优一些不够快的东西,但是有太多的变量,所以每个解决方案都是特定于应用程序的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10825715

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档