Edit AppleGraphicsPowerManagement.kext to unleash nvidia's GTX 570/580 full power and save energy at the same time


We wrote a long explanation why and how to edit these thresholds. You may want to read all of this or just copy and paste these values to your AppleGraphicsPowerManagement.kext and change to your vendor device.
I might add, these values are not written into stone. I have used the power efficiency thresholds for a week and I am very happy with them. You however, might find thresholds that works better for your everyday usage. I encourage to edit these values and run tests on them. I added a high performance mode as well, to show the difference.

Power efficiency thresholds:
(focused to stay in G-state 2 during everyday usage and therefore saves up to 55W~110W)
Threshold_High
0
45
75
100
Threshold_Low
0
0
87
98
<key>MacPro5,1</key>
                                 
<dict>
                                         
<key>Vendor10deDevice1081</key>
                                         
<dict>
                                                 
<key>Heuristic</key>
                                                 
<dict>
                                                         
<key>ID</key>
                                                         
<integer>0</integer>
                                                         
<key>IdleInterval</key>
                                                         
<integer>250</integer>
                                                         
<key>SensorOption</key>
                                                         
<integer>1</integer>
                                                         
<key>SensorSampleRate</key>
                                                         
<integer>4</integer>
                                                         
<key>TargetCount</key>
                                                         
<integer>5</integer>
                                                         
<key>Threshold_High</key>
                                                         
<array>
                                                                 
<integer>0</integer>
                                                                 
<integer>45</integer>
                                                                 
<integer>75</integer>
                                                                 
<integer>100</integer>
                                                         
</array>
                                                         
<key>Threshold_Low</key>
                                                         
<array>
                                                                 
<integer>0</integer>
                                                                 
<integer>0</integer>
                                                                 
<integer>87</integer>
                                                                 
<integer>98</integer>
                                                         
</array>
                                                 
</dict>
                                                 
<key>LogControl</key>
                                                 
<integer>1</integer>
                                                 
<key>control-id</key>
                                                 
<integer>18</integer>
                                         
</dict>
                                         
<key>default-control-id</key>
                                         
<integer>18</integer>
                                 
</dict>


High performance thresholds:
(focused on G-state 1 (caution) this mode still switches quickly between 2 and 1 
Threshold_High
0
85
75
100
Threshold_Low
0
0
95
98
<key>MacPro5,1</key>
                                 
<dict>
                                         
<key>Vendor10deDevice1081</key>
                                         
<dict>
                                                 
<key>Heuristic</key>
                                                 
<dict>
                                                         
<key>ID</key>
                                                         
<integer>0</integer>
                                                         
<key>IdleInterval</key>
                                                         
<integer>250</integer>
                                                         
<key>SensorOption</key>
                                                         
<integer>1</integer>
                                                         
<key>SensorSampleRate</key>
                                                         
<integer>4</integer>
                                                         
<key>TargetCount</key>
                                                         
<integer>5</integer>
                                                         
<key>Threshold_High</key>
                                                         
<array>
                                                                 
<integer>0</integer>
                                                                 
<integer>85</integer>
                                                                 
<integer>75</integer>
                                                                 
<integer>100</integer>
                                                         
</array>
                                                         
<key>Threshold_Low</key>
                                                         
<array>
                                                                 
<integer>0</integer>
                                                                 
<integer>0</integer>
                                                                 
<integer>95</integer>
                                                                 
<integer>98</integer>
                                                         
</array>
                                                 
</dict>
                                                 
<key>LogControl</key>
                                                 
<integer>1</integer>
                                                 
<key>control-id</key>
                                                 
<integer>18</integer>
                                         
</dict>
                                         
<key>default-control-id</key>
                                         
<integer>18</integer>
                                 
</dict>