Can dual monitors make my PC slower?
I've noticed my PC (win-xp) seems to be running slower. (e.g., I'm getting jitter when watching video)
Recently, I upgraded a monitor (larger) and expanded the size of the desktop to take advantage of it, and I've kept the original as a second monitor. I love it. However, I'm noticing that things seem slower. I'm hypothesising that the second monitor and/or larger desktops are tasking the PC more.
Just in case some 'bot snuck in, I've run full anti-virus and malware scans (multiple scanners) to no avail - and I'm not seeing any errant processes either. Is there anything else I'm missing before try dumping the second monitor?
Solution 1:
Yes.
- there's more stuff to draw (same way higher resolution runs slower)
- if the resolutions are different Windows cannot use various performance optimizations
- if the color depths are different, then painting will be slower as Windows has to convert
Stealing an entire blog entry from Raymond Chen
For better performance, set all your monitors to the same color format
Pplu wonders why programs run more slowly when the system is running with multiple monitors.
Well, for one thing, of course, when you have more than one monitor, there's more stuff on the screen for the system to keep track of. It's the same reason that programs run more slowly on a large monitor than on a small monitor.
And if there's only one monitor, then functions like
MonitorFromPoint
become trivial if the flag is something likeMONITOR_DEFAULTTONEAREST
, because when there's only one monitor, answering questions like "What monitor is closest to this point"? becomes very easy.If your two monitors are not the same dimensions, then the union of the two monitors will not be rectangular, which makes clipping against the union of all monitors more complicated.
But I suspect the big penalty for multiple monitors kicks in if you make the mistake of setting your monitors to different color formats, for example, if you set one monitor to 565 format and set another to 24bpp.
If the two monitors do not use the same color format, then programs will be forced to use DIBs instead of DDBs for screen bitmaps, in case a window is moved to a window with a different color format (or worse, is positioned so it straddles two monitors with different color formats). In principle, programs need only use the "worst-case" DIB; for example, if one monitor is 555 and the other is 565, then a 565 DIB will suffice. In practice, however, most programs just fall back to a 24bpp or 32bpp DIB when faced with monitors with different color formats.
(You query whether all monitors have the same color format by calling
GetSystemMetrics(SM_SAMEDISPLAYFORMAT)
.)Since a format conversion takes place when a DIB is blitted to a device with a different color format, forcing a program to retain its bitmaps as DIBs means that for at least one of the monitors (and probably both), you're going to undergo a format conversion when that DIB is drawn to the screen. There are also a few miscellaneous optimizations which are disabled when not all your monitors use the same color format because the cost of using DIBs outweighs the savings from the optimization.
So if you haven't already, go into your display settings and check that you set all your monitors to the same color depth. If you don't do this, then a large class of graphics optimizations is lost.
Solution 2:
Yes, it could potentially make your machine run a little slower due to the extra work put on the video card. However, if you have any modern video card with the proper drivers installed, it should handle the extra load easily. Without knowing any further specification of your machine, it is hard to say. Is the machine many years old? Which video card or cards are you using?
You might try re-installing your video drivers to make sure you have the latest version and you have a clean install. Drivers working properly (or not) can make all the difference in the world.
Solution 3:
Try disconnecting the second monitor. Does the computer seem to run faster / better? If it does then you may want to check the drivers as Troggy suggested before re-connecting the second monitor. If the drivers are up-to-date then it may be time for a new video card.
P.S. I use dual LCD monitors on several desktop machines. I've not seen any evidence of slowness related to the monitors. One system is over five years old.