Bagaimana saya bisa memaksa aplikasi menjadi skala tinggi-dpi?
Berpura-puralah ada aplikasi, yang pengembangnya mewujudkannya sebagai dpi-sadar tinggi, padahal sebenarnya tidak. Bagaimana saya bisa memaksakan dpi-scaling?
Berpura-pura ada aplikasi bahwa Microsoft telah menerapkan "
HighDpiAware
" compatiblity shim, ketika aplikasi sebenarnya tidak. Bagaimana saya bisa memaksakan dpi-scaling?
Bagaimana saya bisa memaksa Windows untuk menerapkan dpi-scaling ke suatu aplikasi?
Sunting: Apa itu penskalaan dpi tinggi?
Tidak semua pengguna menjalankan Windows pada 96dpi. Tidak setiap tombol seharusnya berukuran 75x23 piksel, tidak semua bilah alat memiliki tinggi 25 piksel, dan tidak setiap mesin pencari pohon berukuran 16x16. Jika pengguna telah memilih pengaturan dpi berbeda untuk Windows, Anda perlu mengatur skala semuanya dengan tepat.
Masalahnya adalah bahwa hampir tidak ada pengembang melakukan pekerjaan mereka dengan menangani pengaturan dpi tinggi dengan baik. Paling-paling semuanya akan tetap "ukuran yang sama", yang berarti bahwa setiap tampak mungil mungil . Bentuk terburuk adalah tata letak yang salah, dengan teks terpotong, dan kontrol tidak terlihat.
Dimulai dengan Windows Vista, dan meningkatkan kekuatan Komposisi Desktop, Microsoft menyerah pada pengembang yang melakukan pekerjaan mereka, dan sekarang berbohong pada aplikasi. Mereka memberi tahu aplikasi bahwa pengguna berjalan pada 96dpi. Windows kemudian menggunakan kartu video, dan Komposisi Desktop, untuk meningkatkan formulir.
Pro: konten formulir akan menjadi ukuran yang mudah dibaca.
Con: semuanya akan sedikit kabur.
Fitur "penskalaan dpi tinggi" ini hanya berfungsi atas kebijakan pengguna, dan membutuhkan:
- Windows Vista atau yang lebih baru
- Komposisi Desktop akan diaktifkan
- pengguna untuk mematikan "Gunakan penskalaan gaya Windows XP"
- pengguna tidak menonaktifkan penskalaan untuk aplikasi Anda
Sebagai pengembang, Anda dapat memilih keluar dari penskalaan dpi tinggi; jika Anda berusaha untuk menulis aplikasi Anda dengan benar, dan Anda tahu bahwa Anda akan menangani high-dpi dengan benar. Anda menyisih dari penskalaan ini dengan menambahkan entri manifes ke eksekusi Anda, menyatakan bahwa Anda " sadar dpi tinggi ".
Topik tentang bagaimana membuat aplikasi Anda menghargai preferensi pengguna (termasuk tampilan font, ukuran font, dan pengaturan dpi) adalah pertanyaan untuk stack overflow
. Seperti sintaks untuk entri manifes menyatakan " kesadaran dpi tinggi " Anda.
Pertanyaan ini , pada pengguna-super , adalah bagaimana cara mengabaikan pengembang yang terus maju dan menambahkan entri manifes menyadari-dpi tinggi, padahal sebenarnya aplikasi tersebut tidak sadar-dpi tinggi. Mereka mengatakan kepada Windows untuk menonaktifkan penskalaan, tetapi mereka tidak benar-benar menguji aplikasi. Ada perangkat lunak di luar sana dengan entri manifes "kesadaran tinggi-dpi", dan sekarang aplikasi tidak dapat digunakan di bawah "font besar" (mis. 120dpi).