Iya.
Pplu bertanya - tanya mengapa program berjalan lebih lambat ketika sistem berjalan dengan beberapa monitor .
Nah, untuk satu hal, tentu saja, ketika Anda memiliki lebih dari satu monitor, ada lebih banyak hal di layar untuk dilacak oleh sistem. Itu alasan yang sama bahwa program berjalan lebih lambat pada monitor besar daripada pada monitor kecil.
Dan jika hanya ada satu monitor, maka fungsi seperti MonitorFromPoint
menjadi sepele jika benderanya seperti
MONITOR_DEFAULTTONEAREST
, karena ketika hanya ada satu monitor, menjawab pertanyaan seperti "Monitor apa yang paling dekat dengan titik ini"? menjadi sangat mudah.
Jika dua monitor Anda tidak memiliki dimensi yang sama, maka penyatuan kedua monitor tidak akan menjadi persegi panjang, yang membuat kliping terhadap penyatuan semua monitor menjadi lebih rumit.
Tapi saya menduga hukuman besar untuk beberapa monitor akan muncul jika Anda membuat kesalahan dengan mengatur monitor Anda ke format warna yang berbeda, misalnya, jika Anda mengatur satu monitor ke format 565 dan mengatur yang lain menjadi 24bpp.
Jika kedua monitor tidak menggunakan format warna yang sama, maka program-program akan dipaksa untuk menggunakan DIB daripada DDB untuk bitmap layar, seandainya sebuah jendela dipindahkan ke jendela dengan format warna yang berbeda (atau lebih buruk, diposisikan sehingga mengangkang sehingga mengangkang dua monitor dengan format warna berbeda). Pada prinsipnya, program hanya perlu menggunakan DIB "terburuk"; misalnya, jika satu monitor adalah 555 dan yang lainnya adalah 565, maka 565 DIB sudah cukup. Namun dalam praktiknya, sebagian besar program kembali ke DIB 24bpp atau 32bpp ketika dihadapkan dengan monitor dengan format warna berbeda.
(Anda menanyakan apakah semua monitor memiliki format warna yang sama dengan menelepon
GetSystemMetrics(SM_SAMEDISPLAYFORMAT)
.)
Karena konversi format terjadi ketika DIB dicampurkan ke perangkat dengan format warna berbeda, memaksa program untuk mempertahankan bitmapnya karena DIB berarti bahwa untuk setidaknya satu dari monitor (dan mungkin keduanya), Anda akan menjalani konversi format ketika DIB itu ditarik ke layar. Ada juga beberapa optimasi lain yang dinonaktifkan ketika tidak semua monitor Anda menggunakan format warna yang sama karena biaya menggunakan DIB lebih besar daripada penghematan dari optimasi.
Jadi, jika Anda belum melakukannya, masuk ke pengaturan tampilan Anda dan periksa apakah Anda mengatur semua monitor Anda ke kedalaman warna yang sama. Jika Anda tidak melakukan ini, maka sejumlah besar optimasi grafis hilang.