Windows 10 Creators Update แก้ปัญหาแสดงผลบนจอ High-DPI อีกหลายจุด ลดปัญหาข้อความเบลอ

by mk
6 April 2017 - 14:12

จุดอ่อนสำคัญของระบบปฏิบัติการ Windows คือการรองรับจอภาพความละเอียดสูง (High DPI) ที่แอพพลิเคชันรุ่นเก่าหลายๆ ตัวไม่สามารถขยายขนาดตามความละเอียดจอภาพ (scaling) ได้ดีนัก โดยเฉพาะการต่อสองจอที่ความละเอียดไม่เท่ากัน ส่งผลให้เกิดปัญหาตัวหนังสือเบลอ หรือแสดงผลหน้าต่างใหญ่-เล็กเกินไป

ในโอกาสที่ Windows 10 Creators Update กำลังจะเปิดให้ดาวน์โหลด ไมโครซอฟท์ก็ออกมาอธิบายการเปลี่ยนแปลงเรื่อง High DPI Scaling ว่าปรับปรุงไปอีกเยอะพอสมควร และช่วยให้การแสดงผลแอพพลิเคชันดีขึ้นกว่าเดิม แก้ปัญหาเดิมๆ ไปเกือบหมด แม้จะยังมีปัญหาบางจุดหลงเหลืออยู่ก็ตาม

สิ่งที่ไมโครซอฟท์แก้ไขใน Creators Update มีดังนี้

Per-monitor DPI awareness V2

สิ่งสำคัญของ Creators Update คือไมโครซอฟท์ออก API ตัวใหม่ Per-monitor DPI awareness V2 (PMv2) เพื่อให้แอพพลิเคชันตรวจสอบได้ว่า ตอนนี้ทำงานอยู่ในความละเอียดระดับไหน

PMv1 ถูกเพิ่มเข้ามาใน Anniversary Update แต่ยังมีข้อจำกัดที่ว่า โพรเซสชั้นบนสุด (top-level process) ของแอพนั้นๆ เท่านั้นที่สามารถรู้ถึงข้อมูล DPI ที่ใช้อยู่ ถ้ามีโพรเซสลูกหรือหน้าต่างย่อย ก็ต้องส่งค่า DPI ระหว่างกันเอง (ซึ่งนักพัฒนาส่วนใหญ่ก็ไม่ทำ) แต่พอมาเป็น v2 ก็ไม่ต้องทำเองแล้ว

นอกจากนี้ PMv2 ยังแก้ปัญหา UI ของระบบบางจุดที่สเกลขนาดไม่ถูกต้อง เช่น เมนู สกรอลบาร์ ไดอะล็อกบ็อกซ์ ให้แสดงขนาดได้เหมาะสมกว่าเดิม

DPI-scaling overrides

PMv2 เป็นเครื่องมือช่วยให้นักพัฒนาปรับแก้แอพของตนให้เหมาะกับจอ DPI ต่างขนาดกัน แต่ถ้านักพัฒนาไม่ยอมแก้ ผู้ใช้จะทำอย่างไรดี

ไมโครซอฟท์จึงออกสิ่งที่เรียกว่า DPI-scaling overrides หรือการบังคับค่า DPI ให้แต่ละแอพ สามารถเลือกได้ผ่านเมนูคลิกขวาที่ไฟล์ .exe เลือก Properties และหมวด Compatibility ซึ่งมีให้เลือก 3 โหมด

  • Application บังคับใช้โหมด per-monitor API awareness สเกลตามหน้าจอ ถ้านักพัฒนาทำแอพมารองรับ โหมดนี้จะให้ผลดีที่สุด
  • System อิงตามค่าของระบบปฏิบัติการ ยืดหดหน้าต่างตามความละเอียดหน้าจอ
  • System (Enhanced) โหมดใหม่ที่เพิ่มเข้ามาใน Creators Update ที่ฉลาดกว่าเดิม โดยจะยืดหดเฉพาะบางส่วนของ UI เท่านั้น ข้อดีคือข้อความ หรือ ภาพที่ถูกเรนเดอร์ (เช่น ปุ่มต่างๆ) จะคมชัดมากขึ้น แต่ก็ไม่สามารถแก้ปัญหาภาพบิตแมปเบลอได้

ปรับปรุงแอพพลิเคชันของไมโครซอฟท์เอง

นอกจาก 2 อย่างที่กล่าวมาแล้ว ไมโครซอฟท์ยังปรับปรุงแอพพลิเคชันเก่าๆ ของตัวเอง ให้รองรับหน้าจอ High-DPI ได้ดีขึ้น เช่น Internet Explorer, Office 2016 หรือการแสดงผลไอคอนของ Windows เอง ให้ถูกต้องกว่าของเดิม

ตัวอย่างไอคอนที่ขยายขนาดผิด (Anniversary Update)

ตัวอย่างไอคอนที่ขยายถูกแล้ว (Creators Update)

ไมโครซอฟท์ยอมรับว่า Windows 10 ยังมีปัญหาเรื่องการแสดงผล High DPI หลงเหลืออยู่ เช่น แอพเก่าๆ บางตัวถูกกำหนดค่าความละเอียดมาตายตัวที่ 96 DPI ซึ่งในอดีตไม่ใช่ปัญหา แต่ปัจจุบันเป็นปัญหา และไมโครซอฟท์จะพยายามแก้โค้ดเหล่านี้ให้ทันสมัยมากขึ้น

ที่มา - Windows Blog

Blognone Jobs Premium