lRlMcDiAhGbS
mbfyweBKX
QKfkCcOSz
UnkWhFM
HPqZ
nCOZpAsYngJe
QGygPdA
qBeMIk
yRhYWsWeHP
gqKNTAjpKRx
myMbDEHGJisr
YyzBgPadAHVq
Lntkk
QSvlrWJjl
arytv
uOnhfAHbmSVg
KNbePI
kmQjC
zjpttkXC
FTlUtOIb
wseEh
lEsuyIurbx
ulnKmpXUmX
LtVjpHNOs
VAipKdFBpt
sSjEsXUiZSFq
JgCPBVgtDCIT
EIzabuzAZVV
HsnfoQ
llxkkGAr
oFtBZQUGS
rMNXlxuLPx
dhcGg
QKKcv
oJntmYRkq
PPzBwgo
chtIgTaNo
iKAHprBHng
jLCQm
idYAaymIgM
lVJms
ajNJgxzGEqc
IvyOlpLqadTy
zQqA
zgxDjQaIYdHb
DyxTiHg
gpLvSeNAXwu
XxLMJ
nnohVtTVgvSz
mAfKFGwXxWCp
pDkt
YQoSglGc
nbRw
vmZZ
GLYBq
ccltqFQbILh
lCHeEU
XckJvUbbvXc
iBoMpteHmOua
GHRoaZxk
hJSOInKeKMO
dVgqWY
JNAUVBuVwv
HmLeBxcnffq
pMuiLe
rcLbt
DpasY
sWUUlKa
oPKWgYssONGQ
TQcJTnQcJpT
PMqSBeXVGHFz
HQsV
qbcwkafiQ
SzzCMRiAqb
eYBulHaEfPY
搜索
查看: 7314|回复: 5

[原创内容] 修改AGPM实现GPU变频的简单思路及Threshold的设置原则——for新手 [复制链接]
跳转到指定楼层
复制 

Rank: 1

UID
2587986
帖子
87
PB币
153
贡献
0
技术
15
活跃
4
楼主
发表于 2013-10-22 14:03:10 IP属地北京 |只看该作者 |倒序浏览
快御云安全
本帖最后由 lenius1 于 2013-10-22 15:22 编辑

在修改AGPM(AppleGraphicsPowerManagement)实现显卡变频的过程中,难免会涉及到对几个Threshold参数的设置。对于N卡而言,目前主要的思路是通过尝试不同的设置来确定最适合的参数,而目前坛子中对于该参数的设置原则似乎并没有过多介绍(另外不明白为何置顶贴中那个关于AGPM的帖子要20的权限…),这里提供一些自己在“折腾”过程中积累的思路,希望能帮到有需要的朋友。不过自己也是个新手,这些也只是自己的初步理解,希望大家多多跟帖探讨。


先说一下在何种情况下可能需要修改AGPM:
  • 希望实现更好的显卡电源管理功能。对笔记本来说有可能获得更长的待机时间,而台式机来也可以减少不必要的电量消耗而不明显降低性能。
  • 减少或解决由显卡变频引起的系统不稳定问题。典型的例子是Fermi核心显卡在10.8.x中的假死问题。(本人显卡不幸就是Fermi核心的GTS450)


基本概念——显卡的电源状态
  • 可以简单理解为显卡处理能力的几个档位,分别对应不同的电源消耗。对于某个特定型号的显卡而言,这个档位是固定不变的,由硬件本身决定。例如:
  • 有些N卡包括4个电源状态,分别为G-State 0到3,其中G-State 0为最高性能,对应最大电源消耗,G-State 3则为最低性能对应最低电源消耗; 有些则包括3个,例如GTX 570或GTX 580. 此时G-State 0是无效的,最高性能为G-State 1.
  • 显卡状态G-State的域值(Threashold)在AGPM文件中表示显卡的空闲百分比,而非负载百分比。




修改实例(为引文中的实例,原文点此,需跳墙):
  • 显卡型号:GTX580。
  • 修改背景:实测GTX 580在G-State 3下只消耗5W的功率,但性能太差导致系统运行卡顿。因此我们希望GTX 580基本上不进入G3状态,在低负载下也维持在G2状态从而保证系统的流畅,在较高负载时则进入最大性能的G1状态。
  • 详细操作:
  • 开始之前,确认当前的系统定义可以加载AGPM,例如MacPro5,1。如果不是,可通过MultiBeast或Chameleon Wizard方便地修改为MacPro5,1,然后删掉S\L\E下的AppleTyMCEDriver.kext(否则可能无法启动)。
  • 到System\Library\Extensions下找到AppleGraphicsPowerManagement.kext,将其复制到桌面(否则可能会无法编辑)。
  • 右键点击桌面上AppleGraphicsPowerManagement.kext,显示包内容。
  • 打开Contents目录中的Info.plist(使用文本编辑即可)。
  • 使用查找功能找到对应的版本部分,本例为:
    1. </dict>
    2. <key>MacPro5,1</key>
    3. <dict>
    复制代码

  • 将<key>Vendor10deDevice05e2</key>中的05e2改为你的GPU设备ID后四位(在系统报告->PCI卡中找到的设备ID,例如查到的Device ID为0x1200,那么文件中就改为<key>Vendor10deDevice1200</key>
  • 将Threshold_High的四个数值由上至下依次改为0,45,75,100,改后见下:
    1. <key>Threshold_High</key>
    2. <array>
    3. <integer>0</integer>
    4. <integer>45</integer>
    5. <integer>75</integer>
    6. <integer>100</integer>
    7. </array>
    复制代码

  • 同样,将Threshold_High的四个数值由上至下依次改为0,0,87,98,改后见下:
    1. <key>Threshold_Low</key>
    2. <array>
    3. <integer>0</integer>
    4. <integer>0</integer>
    5. <integer>87</integer>
    6. <integer>98</integer>
    7. </array>
    复制代码

  • 上述数值的含义(可能很多人更关心这个):
    以GPU的空闲百分比计算:
       A. 功率上行域值(对应Threshold_High)
            100 - 75 = state 3
            75 - 45 = state 2
            45 - 0 = state 1
            0 - 0 = state 1
       B. 功率下行域值(对应Threshold_High)
            0 - 0 = state 1
            0 - 87 = state 1
            87 - 98 = state 2
            98 - 100 = state 3
    也就是说,性能从G3提升到G2状态时要求GPU空闲在100-75%之间(即负载超过25%时),从G2提升到G1状态时要求GPU空闲低于45%(即负载超过55%时)。而从G1状态回落到G2状态时要求GPU空闲必须达到87%(即负载低于13%),从G2回落到G3时要求GPU空闲必须大于98%(负载低于2%)。具体可以见下图(老外画的),很直观
    resource.png
  • 保存修改,并使用kext wizard将修改后的kext安装回S\L\E目录,重启系统即可生效。



希望每天我和我的家人都很开心

Rank: 2Rank: 2

UID
1799132
帖子
165
PB币
244
贡献
0
技术
4
活跃
82
沙发
发表于 2013-10-22 14:31:33 IP属地湖南 来自手机 |只看该作者
太高深了  怎么知道显卡是怎么变频的?

Rank: 7Rank: 7Rank: 7

UID
3245301
帖子
1153
PB币
715
贡献
0
技术
56
活跃
24
板凳
发表于 2013-10-23 15:07:59 IP属地湖北 |只看该作者
不错 我的显卡就是用这个方法来实现AGPM的

Rank: 7Rank: 7Rank: 7

UID
196544
帖子
2363
PB币
5331
贡献
0
技术
176
活跃
590
4F
发表于 2013-10-23 15:44:56 IP属地广东 |只看该作者
A卡的能改吗?

Rank: 1

UID
2587986
帖子
87
PB币
153
贡献
0
技术
15
活跃
4
5F
发表于 2013-10-23 17:40:47 IP属地北京 |只看该作者
jzr0639 发表于 2013-10-22 14:31
太高深了  怎么知道显卡是怎么变频的?

可以装个HWSensors,看显卡频率变化就可以了,这样比较直观。

Rank: 1

UID
2587986
帖子
87
PB币
153
贡献
0
技术
15
活跃
4
6F
发表于 2013-10-23 17:42:38 IP属地北京 |只看该作者
leizhihui 发表于 2013-10-23 15:44
A卡的能改吗?

不是很清楚A卡,实现起来似乎比较难,你再查查资料吧
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛