It wasn't the new configuration, well, almost.
My computer's base configuration when I built it was:
- Motherboard: ASRock N68GS-FX
- CPU: AMD 4100 @ 4.2GHZ (watercooled, temperature ever reaches more than 40 degrees centigrade)
- RAM: 4GB DDR3 1366MHZ
- Hard Drive: 1x60GB SATA3 SSD, 1x 320GB SATA2 HDD, 1x 80GB IDE HDD
- Graphics Card: AMD Radeon HD 7700
Now, my new configuration is:
- Motherboard: ASRock 685GS-FX
- CPU: AMD 4100 @ 4.2GHZ (watercooled- changed position of radiator to the top of the case, rather than the side as it was before)
- RAM: 4GB DDR3 1066MHZ
- Hard Drive: 1x 2TB SATA2 HDD, 1x 60GB SATA3 SSD (upgraded and on a PCI SATA3 controller)
- Graphics Card: Nividia GeForce GTX 285
The new configuration is completely fine, but only if I took out the PCI SATA3 card and put the SSD on the motherboard's own SATA controller! Luckily for me I only had Battlefield 3 and Call of Duty: Black Ops 2 installed onto the SSD and not Windows, otherwise it would've needed to be reinstalled (as the SATA3 card was AHCI, the motherboard forces me to use IDE as it doesn't support AHCI).
Turns out that Windows can't quite interface properly with a mixture of PCI (external) and motherboard (internal) SATA controllers, which meant that it got confused when it was busy and had to get the graphics card to switch to a different resolution.
cdd.dll is the Windows component that is responsible for switching the display resolutions, and so it showed up as the 'problem component'.
The fix for this is:
- Ensure all drivers are updated
- Ensure you have system and program drives plugged in on the motherboard's I/O controller instead of a PCI controller (this is what did it for me)
- That any faulty hardware is quickly repaired or replaced.