(Edit: Took out the major from the title. I think it was too bold)
Other's may disagree with this, but I think one of the worst feeling in the world for a programmer is to work hard on something, debug it and test it out thoroughly just for it to fail on someone else's computer. This is what happened to me a few days ago. I'd been working on my new game framework which I hope will give me multi-platform capabilities in the future. My new post-processing framework was working well with some nice new effects and I had been testing out some new GUI elements. So it all works well on my computer, or so I thought actually.
OS: Windows 7
CPU: Intel® Core i5-2410M
Display Adapters: (0) NVidia GeForce GT 540M
(1) Intel HD Graphics 3000
So my friend and gamedev partner tried it out on his two computers:
System 1 Desktop (Windows 7)
CPU: Intel Core i5-2500K 3.3ghz 16GB ram
Display Adapter: GPU AMD Radeon HD 6800 series
System 2 Laptop( Windows 8)
CPU: Intel i7-3632 2.2GHZ
Display Adapters: (0) GPU AMD Radeon HD 7730M
(1) Intel HD Graphics 4000
And it was strange because everything started up well, but then I stopped. When spent about 2 days on this with me sending out various builds and slowly disabling more and more things before I realized that it was crashing way at the beginning when the Direct X device was being created. I didn't expect this because a message was supposed to have popped up in this case, but I guess now it doesn't matter.
After searching around on the internet, I came to believe his configuration was the problem. I got a lot of information from this old Gamedev post: https://www.gamedev.net/topic/617965-directx-11-cant-find-all-of-my-graphics-adapters/
From that post, I realized that on laptops, it's common for the system to default the integrated graphics card and not use the high performance one. This was happening on my computer as well. By why was the program crashing on his computer. Look at all of these references:
There seems to have been a bug in the HD Graphics 4000 drivers. Intel says that it's fixed it now so if you have any users having problems on Windows 8 laptops with HD Graphics 4000, have them update their drivers. Also, if they have another graphics card, tell them to look into their display adapters configuration settings and make sure it uses the high performance card for your game. The configurations change can be made in a utility that's installed with the drivers and not via device manager. I'm not sure how it works on Windows 8.
I'm adding this here because I'm sure someone else will have this problem and I want to help them find the answer.