Casey said he doesn't want to stretch the bitmap so that we see 1-to-1 memory pixels to screen pixels, which is great. This raises two points:

1. Should we be using SetDIBits or SetDIBitsToDevice instead of StretchDIBits?

2. If you _really_ want 1-to-1 pixels, then we probably need to tell Windows that our process understands so-called high-DPI displays. Without that, if you run with certain settings on Vista or later, Windows may stretch (scale-up) anyway. There are a couple ways to mark the process as high-DPI aware: mark it as such in the manifest or make a call to SetProcessDPIAware at the beginning of the program.