首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当帧率下降时GPU未达到100%的使用率

当帧率下降时GPU未达到100%的使用率
EN

Computer Graphics用户
提问于 2017-02-07 02:55:16
回答 1查看 575关注 0票数 2

我正在制作一个使用统一的iOS游戏。我正在测试一些着色器,我已经为游戏,在某些情况下,设备将运行在30 FPS,但没有100%的设备利用率。

有时测试会从较高的设备利用率%开始,然后随着时间的推移而降低,即使测试只是简单地呈现一个带有材料的飞机。

例如,我刚刚在iPad 4上运行了一个着色测试:设备利用率为85%,渲染器使用率为85%,每秒钟使用1%核心动画帧

这个测试使用的是几乎所有的CPU,并且只呈现4个三角形(2个大平面覆盖屏幕)。

有人知道为什么会发生这种事吗?通常渲染器利用率高达100%.很难理解,是个图形新手。

IOS有强制的v同步。我很好奇为什么仪器分析器中的“每秒核心动画帧”会说,如果启用了v同步,就会显示12个FPS,以及这将如何与85%的设备利用率相对应。

也许该设备正在渲染12帧,而2帧被丢弃以使其降至v同步帧速率10?这将导致~83-84%的有效设备利用率。

或者,考虑到上述统计数据(85%的利用率和12个FPS),GPU可以在100%的使用率下呈现14个FPS。但是,v同步需要10,或15 FPS,两者之间不需要任何东西。这可能会导致GPU减速,不会浪费电源和CPU,但仍然可以安全地保持在v同步的下一步以上。

EN

回答 1

Computer Graphics用户

发布于 2017-02-14 17:29:39

通常,使用VSYNC,CPU实际上在99%的时间内什么都不做,因为它只是向驱动程序发送简单的顶点缓冲区批处理(正如您所说的,只有几个三角形)。如果着色器带宽很大,则需要多个帧来渲染.在你的例子中,你说它是12 fps,例如60/12 =5帧。因此,CPU (或者运行线程的核心)实际上在5个帧中什么也不做(除了等待vsync)。对于3d引擎来说,这是对性能的极大浪费。

为什么“利用率”统计数据是重要的?重要的是你的框架,这就是你如何知道你做得有多好,而不是在操作系统中某个任意的“使用”数字,天知道它是如何从一开始就组装起来的。

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

https://computergraphics.stackexchange.com/questions/4676

复制
相关文章

相似问题

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