Si.
Pplu se pregunta por qué los programas se ejecutan más lentamente cuando el sistema se ejecuta con varios monitores .
Bueno, por un lado, por supuesto, cuando tienes más de un monitor, hay más cosas en la pantalla para que el sistema las controle. Es la misma razón por la que los programas se ejecutan más lentamente en un monitor grande que en un monitor pequeño.
Y si solo hay un monitor, entonces las funciones se MonitorFromPoint
vuelven triviales si la bandera es algo así
MONITOR_DEFAULTTONEAREST
, porque cuando solo hay un monitor, responde preguntas como "¿Qué monitor está más cerca de este punto"? se vuelve muy fácil.
Si sus dos monitores no tienen las mismas dimensiones, entonces la unión de los dos monitores no será rectangular, lo que hace que el recorte contra la unión de todos los monitores sea más complicado.
Pero sospecho que la gran penalidad para múltiples monitores se activa si comete el error de configurar sus monitores en diferentes formatos de color, por ejemplo, si configura un monitor en formato 565 y configura otro en 24 bpp.
Si los dos monitores no usan el mismo formato de color, entonces los programas se verán obligados a usar DIB en lugar de DDB para mapas de bits de pantalla, en caso de que una ventana se mueva a una ventana con un formato de color diferente (o peor, se posicione a horcajadas) dos monitores con diferentes formatos de color). En principio, los programas solo necesitan usar el DIB "peor de los casos"; por ejemplo, si un monitor es 555 y el otro es 565, será suficiente un DIB 565. Sin embargo, en la práctica, la mayoría de los programas simplemente caen a un DIB de 24 bpp o 32 bpp cuando se enfrentan a monitores con diferentes formatos de color.
(Consulta si todos los monitores tienen el mismo formato de color llamando
GetSystemMetrics(SM_SAMEDISPLAYFORMAT)
).
Dado que una conversión de formato tiene lugar cuando un DIB se envía a un dispositivo con un formato de color diferente, forzar a un programa a retener sus mapas de bits como DIB significa que para al menos uno de los monitores (y probablemente ambos), se someterá a una conversión de formato cuando ese DIB se dibuja en la pantalla. También hay algunas optimizaciones varias que se deshabilitan cuando no todos sus monitores usan el mismo formato de color porque el costo de usar DIB supera los ahorros de la optimización.
Entonces, si aún no lo ha hecho, vaya a la configuración de su pantalla y verifique que haya configurado todos sus monitores con la misma profundidad de color. Si no hace esto, se pierde una gran clase de optimizaciones gráficas.