Alright, well for the longest time I had an issue plaguing me where the two crossfire cards inside my rig would develop artifacts when sitting idle on the Desktop. If I would bring up anything somewhat graphically intensive, let's say a web page with a Youtube video the artifacts would stop, I minimize the window and the artifacts would come up again.
I could game for 5 hours without any issues as soon as I hopped to the desktop, bam, like clock work the artifacts would come back.
At first I thought it was a heat issue, so I modded my case with a exhaust fan pulling the hot air from both cards, problem still persisted.
So then I fired up GPUz and started to look at the frequencies of the GPU both the memory clock and the core clock.
I noticed that when I open said youtube window the Core clock would throttle up from 350 to whatever was required with a maximum of 1040 Mhz. Having said this the core clock would usually remain under 500 for such tasks, but it would throttle as needed.
Also I noticed that during these tasks the memory clock remained really low, @150 Mhz.
I found it odd that the Core clock would throttle but the memory would not. So it looked like the memory had only two states 150 and 1250 Mhz.
In the end I hex edited my BIOS and flashed it with AtiFlash in DOS, I also disabled ULPS. Although ULPS did not fix the issue and was not the root cause, I like knowing that when I hop out of a game the fans will keep spinning to further cool down my card, instead of just stopping. I don't like the idea of one card being passively cooled after it reached 80 degrees +.
Here are the changes I made.
I edited my bios to never drop the Memory clock, so the memory clock is always at 1250Mhz now.
I also edited my core clocks, my core now never drops below 500 Mhz, the next step up is 840 Mhz, and then 1040 Mhz.
I also changed my fan profiles and a single temp profile.
Since I raised the Core clock slightly and the memory clock completely I wanted to make sure that the card was not running to hot. So I raised the fan profiles by 10% and dropped the top temperature profile by 10 degrees.
The single temperature profile I was worried about and changed was the 90 Celsius/100% fan one, I changed it to 80 Celsius/100% fan speed.
Then I raised the other fan speeds by 10%, so 56% went up to 66%, and 36% went up to 46%. I can't remember the exact #s I used but essentially I brought them up by 10% from the original values.
With all these changes to the GPU BIOS on both cards I now have eliminated the Desktop artifacts. My idle card temps hover around <50 Celsius, ~ 3-5 degrees higher than the stock BIOS clocks, and ULPS is completely disabled.
Disabling ULPS: (link)Open regedit and search (Edit - Find) for EnableUlps then change the DWORD value from 1 to 0. Ignore EnableUlps_NA this does nothing. Keep searching (pressing F3) through the registry and change every entry you find in there from 1 to 0. Once finished reboot.
Editing the vga BIOS: (link) I changed the Fan and Temperature profiles with a Hex editor, I used an application called HxD. Then I used the Hawaii Bios Reader application to edit the core and clock frequencies and then used it to create a proper check sum for the BIOS.
After the edits you have to flash the BIOS to each card individually. I just swapped them after each flash, left one out of the mobo while the other was being flashed.
I hope this helps someone with the same issue.