Well, I fell down the rabbit hole with this benchmark stuff and trying to tweak it to get back to my pre 12.3 performance, even though it operationally doesn't really make much difference to me. I guess that's the fun of Hackintoshing!
I started with trying to see if
injecting the soft PowerPlay Tables was actually having an impact on performance. Then, following up on
the post of the Site That Shall Not Be Named by the Admin Who Shall Not Be Named who posted a snippet of an SSDT, and as far as I could interpret, said that the SSDT was necessary to correct the framebuffer injection. Then,
@StefanAM posted his SSDT that he is using to restore performance, which had the code correctly placed.
So I modified his SSDT with the Belknap framebuffer and the ACPI path to my card, then tested it, with and without the sPPT.
The bottom line is that the framebuffer injection alone pretty much restores the performance. Adding either the sPPT and/or the SSDT looks like it gives just a marginal gain, but having both at least brings it closer to pre 12.3 performance, particularly of the Unigine Heaven benchmarking program, which measures OpenCL performance.
I don't think the SSDT or sPPT is really worth the extra boost, unless you want to spend a little time making these files. I think the framebuffer injection should be adequate and hopefully Apple will address this in the future.
For testing, I took 10 runs of GB Metal and 10 runs of GB OpenCL. I am showing the average of these data points along with the standard error of the mean to illustrate the variation. I think the numbers are sufficiently close such that I don't think there is a significant difference. I just did a single run of the Unigine Heaven benchmark for each condition. The program runs for about 6 min, and I just don't have the time to do multiple runs of that.
I am attaching my SSDT. This is for use with similar setups to mine, with the ACPI path as _SB_.PCI0.PEG0.PEGP
I am also using the spoof for my 6900-XTXH card to assign it a 6900XT profile. If you want to use this SSDT in a similar set up, I load the SSDT after the SSDT-BRG0.aml file in OpenCore.
OK -- I've spent long enough on this! And I don't really use my Mac side for gaming, so trying to squeeze out this extra performance is just academic for me!
Framebuff |
+ |
|
+ |
|
+ |
|
+ |
|
SSDT |
+ |
|
- |
|
+ |
|
- |
|
sPPT |
+ |
|
+ |
|
- |
|
- |
|
|
Average |
SEM |
Average |
SEM |
Average |
SEM |
Average |
SEM |
GB Metal |
187636 |
1373 |
186550 |
1571 |
185803 |
2064 |
184598 |
2931 |
GB OpenCL |
133381 |
1084 |
130037 |
916 |
132285 |
1210 |
131442 |
927 |
Unigine FPS |
161.3 |
|
157.1 |
|
156.1 |
|
156 |
|
Unigine Score |
4064 |
|
3958 |
|
3932 |
|
3930 |
|
Min FPS |
14 |
|
13.9 |
|
13.7 |
|
13.6 |
|
Max FPS |
425 |
|
417.6 |
|
422.3 |
|
405.3 |
|