POPPUR爱换

 找回密码
 注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

搜索
查看: 1241|回复: 3
打印 上一主题 下一主题

Eric Demers 在 R3D 的访谈中谈到微顿的若干成因。

[复制链接]
跳转到指定楼层
1#
发表于 2008-9-21 23:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
R3D: What is your take on micro-stuttering?

Eric: Micro-stuttering can be caused by multiple things. For example, for our previous product, the ATI Radeon™ HD 3870, one of the causes of micro-stuttering was due to the fact that the graphics clock was being increased and decreased too frequently, during games. The ATI Radeon HD 3870 was one of the first AMD parts to introduce a programmable micro-controller to monitor and control the chip power through clocks and voltage. The ATI Radeon HD 3870 was able to detect times when the application was not using it, and reduce its clock speed to conserve power. What we found is that within a single frame, when the CPU load was high, there were times where there was enough "starvation" to cause the ATI Radeon HD 3870 to reduce its clock, even though it was running a game. When the next part of the frame came up, the graphics clock had already been reduced, so that the rendering was slowed down until the chip detected a heavy load and resume high clocks. This up/down on the clock saved power, but reduced overall performance and cause micro-stuttering. This was fixed in February with a driver that taught the chip how to behave in this kind of situation (don't drop the clock in the middle of a 3D app). However, for the ATI Radeon HD 4870, we changed how the micro-controller worked from the beginning, to make it monitor multiple "windows" in the chip (both frequent changes per frame, and long term changes over multiple frames), and take appropriate action. This allowed the ATI Radeon HD 4870 to launch with all the power gating fully enabled and no stuttering due to clock changes.

There are other potential sources for micro stuttering, some of them, for example, having to do with moving memory around, which can cause either blackouts for the CPU or the GPU. Others exist when the CPU and GPU are more unbalanced (fast GPU, slow CPU), for example where the CPU will not generate any frames for a while, then generate 2 frames. It could be that in that case, we get an average time for frame 1 which is the idle time plus render, while frame 2 will be only render. That could lead to 16ms and 1ms frame times, which would appear as stuttering (assuming 15ms idle, 1ms render times). Multi-GPU makes the problem worse, as the GPU consumption rate is even higher. We are investigating these and others, though it's a tall task to fix all of them while also achieving peak performance.

http://www.rage3d.com/interviews/atichats/undertheihs/
2#
发表于 2008-9-22 09:33 | 只看该作者
PowerPlay机制不完善是造成micro-stuttering原因之一。
回复 支持 反对

使用道具 举报

3#
发表于 2008-9-22 09:47 | 只看该作者
不清楚PowerPlay机制是否是driver + Catalyst utility + GPU实现还是pure driver + GPU就能实现。
回复 支持 反对

使用道具 举报

4#
发表于 2008-9-22 09:56 | 只看该作者
原帖由 gz_easy 于 2008-9-22 09:47 发表
不清楚PowerPlay机制是否是driver + Catalyst utility + GPU实现还是pure driver + GPU就能实现。

实现PP根本不需要催化剂控制中心,装个纯驱动就实现了。应该是driver+ bios.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

广告投放或合作|网站地图|处罚通告|

GMT+8, 2025-3-10 17:38

Powered by Discuz! X3.4

© 2001-2017 POPPUR.

快速回复 返回顶部 返回列表