ปัญหาการแสดงผลแบบอักษรของ Windows แปลก ๆ (พร้อมวิดีโอสาธิต)


9

ดูวิดีโอสาธิตได้ที่: vimeo.com/155636855

ฉันต่อสู้กับปัญหานี้มานานเกินไป - ตอนนี้ฉันจะรักความช่วยเหลือจากภายนอก

* สิ่งนี้ไม่เกี่ยวข้องกับเทคโนโลยี VM - ดูบันทึกย่อที่ท้ายโพสต์ *

ภาพที่แนบมาประกอบด้วยภาพด้านข้างของไฟล์ WordPad พร้อมข้อความที่แสดงถึงตัวอักษรทั้งหมดในตัวอักษรตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ ภาพทางด้านซ้ายนั้นถ่ายจากเครื่องเสมือน Windows 10 (ระบบปฏิบัติการ "guest") ที่ทำงานบนโฮสต์ Windows 10 (ระบบปฏิบัติการ "host") รูปภาพด้านขวาถูกถ่ายจากโฮสต์ Windows:

ป้อนคำอธิบายรูปภาพที่นี่

ขยายภาพและดูความแตกต่างบริเวณขอบของตัวอักษรแต่ละตัว: ด้านซ้ายมีความนุ่มนวลกว่าด้านขวา - และในกรณีที่คุณถูกล่อลวงให้ข้ามไปสู่ข้อสรุปที่รวดเร็ว CLEARTYPE ไม่ใช่ปัญหา (ดูประเด็นด้านล่าง ) อย่างน้อยไม่ได้มาจากเปอร์สเปคทีฟ "on" และ "off" (กล่าวอีกนัยหนึ่งการตั้งค่ารีจิสทรีที่เกี่ยวข้องกับ ClearType อาจเกี่ยวข้อง แต่ไม่มีอะไรใน Windows UI ที่เกี่ยวข้องกับ ClearType ทำให้เกิดสิ่งนี้เพราะทั้งสองเครื่องได้รับการปรับเทียบสำหรับ ClearType และ ClearType เปิดอยู่ทั้งบนเครื่องโฮสต์และเครื่องแขก)

ข้อเท็จจริง:


ระบบปฏิบัติการทั้งสองใช้ไฟล์ฟอนต์ TrueType (TTF) แบบอักษร Myriad เดียวกัน

ระบบปฏิบัติการทั้งสองถูกตั้งค่าเป็นความละเอียดหน้าจอเดียวกัน

ฉันคิดว่านี่เป็นปัญหาเกี่ยวกับไดรเวอร์วิดีโอของ Windows แต่ฉันมีไดรเวอร์ nVidia รุ่นล่าสุดและฉันใช้การ์ด GeForce GTX 560 ระดับไฮเอนด์ที่มี DirectX 12 ทั้งบนโฮสต์และแขก

ไฟล์ WordPad ทั้งสองใช้แบบอักษรขนาดตัวอักษรลักษณะแบบอักษรและการซูม (100%) ที่เหมือนกัน

ทั้งระบบปฏิบัติการ Windows 10 นั้นได้รับการอัพเดตอย่างสมบูรณ์โดยใช้ Windows Update

ClearType เปิดใช้งาน (เปิด) ทั้งบนโฮสต์ Windows และในเครื่องเสมือน ฉันได้ลองชุด ClearType หลายแบบ (ปิดมันในโฮสต์และปิดมันกับแขกและชุดอื่น ๆ ทั้งหมด) และไม่มีการเปลี่ยนแปลงกับสิ่งประดิษฐ์หยาบที่แสดงบนโฮสต์เมื่อเปรียบเทียบกับแขก

ฉันไม่ทราบความแตกต่าง DPI ระหว่างแขกและโฮสต์ ฟอนต์อื่น ๆ เช่นฟอนต์ Arial ที่รวมอยู่ใน Windows แสดงปัญหาหยาบ ๆ ที่คล้ายกันเฉพาะบนโฮสต์ - ฉันเพิ่งเลือก Myriad Pro เพื่อแสดงปัญหา

สีของทั้งสองฟอนต์นั้นคือ 100% BLACK (# 000)

ปัญหานี้ปรากฏในแอปพลิเคชันทั้งหมดที่สามารถแสดงแบบอักษร TrueType ฉันใช้ WordPad เป็นตัวอย่าง แต่มันเกิดขึ้นใน Microsoft PowerPoint และ Camtasia ของ TechSmith เช่นกัน

ปัญหานี้ไม่เกี่ยวข้องกับแบบอักษร TrueType มันเกิดขึ้นกับแบบอักษร OTF เช่นกัน

และสำหรับสิ่งที่คุ้มค่ามันไม่สำคัญว่าถ้าฉันดูโฮสต์จากคอมพิวเตอร์เครื่องอื่นผ่านเซสชันเดสก์ท็อประยะไกล (RDP) หรือใช้บางอย่างเช่น TeamViewer นอกจากนี้พฤติกรรมของแขกจะไม่เปลี่ยนแปลงเมื่อฉันใช้ RDP หรือ TeamViewer


เห็นได้ชัดว่ามีบางสิ่งผิดปกติกับระบบย่อยการแสดงผลแบบอักษรบนโฮสต์ น่าสนใจโฮสต์เป็นเครื่อง Windows 7 Ultimate จนถึงประมาณหนึ่งสัปดาห์ที่ผ่านมา (ต้นเดือนกุมภาพันธ์ 2559) เมื่อฉันอัปเกรดโดยติดตั้ง Windows 10 Enterprise ฉันหวังว่าการอัปเกรดจาก Windows 7 เป็น Windows 10 จะแก้ไขปัญหาการแสดงผลแบบอักษรโดยเฉพาะเพราะฉันเห็นแล้วว่า Windows 10 ทำงานในเครื่องเสมือนบนโฮสต์เดียวกันไม่มีปัญหาในการแสดงผลแบบอักษร น่าเสียดายที่การอัปเดตเป็น Windows 10 ไม่ได้แก้ไขการแสดงผลแบบอักษร (ฉันไม่ได้ติดตั้ง Windows 10 ใหม่ - ฉันทำการอัปเดตที่เก็บรักษาไฟล์และการตั้งค่าระบบปฏิบัติการก่อนหน้านี้ไว้แล้ว)

เนื่องจากทุกสิ่งที่ฉันเขียนข้างต้นฉันสงสัยว่ามีบางค่าเสียหายสูญหายหรือไม่ถูกต้องในรีจิสทรีที่เกี่ยวข้องกับการแสดงผลแบบอักษรสำหรับโฮสต์ระบบปฏิบัติการ - แต่สิ่งที่อาจเป็นได้?

* เพิ่ม 2/12/2016 * ฉันใช้ฮาร์ดไดรฟ์ใหม่และติดตั้งอินสแตนซ์ Windows 10 ใหม่ทั้งหมดลงบนฮาร์ดแวร์เดียวกันกับที่ "โฮสต์" ที่ฉันอ้างถึงข้างต้นกำลังทำงานอยู่ อินสแตนซ์ Windows 10 ใหม่มีฟอนต์ที่ราบรื่นเช่นเดียวกับอินสแตนซ์ของ virtual machine (VM) ของ Windows 10 สิ่งนี้บอกฉันว่าฮาร์ดแวร์ของเครื่องไม่ทำให้เกิดปัญหาในการสร้างอิมเมจทางด้านขวาและ VM (หรือ virtualization เทคโนโลยี) ไม่ใช่เหตุผลของความไม่เท่าเทียม ตอนนี้ฉันมีฮาร์ดไดรฟ์ A พร้อม Windows 10 บนเครื่องจริงฉันสามารถบู๊ตและดูภาพทางด้านขวา ฉันมีฮาร์ดไดรฟ์ B ตัวที่สองที่มี Windows 10 อยู่ในเครื่องเดียวกันฉันสามารถบูตเข้าไปเพื่อแสดงภาพทางด้านซ้าย

ฉันเช็ดฮาร์ดไดรฟ์ใหม่นั้นและติดตั้ง Windows 7 Ultimate จาก Microsoft Setup DVD นอกจากนี้ยังแสดงภาพที่ LEFT (แบบอักษรที่ถูกต้องและนุ่มนวล) ดังนั้นปัญหาไม่ใช่ว่า Windows 7 มีปัญหากับฮาร์ดแวร์ของฉันและ Windows 10 ไม่ถูกต้อง - มันชัดเจนสำหรับฉันตอนนี้ที่ Windows 7 ไม่แสดงปัญหาแบบอักษรบนฮาร์ดแวร์ของฉันหากฉันติดตั้ง Windows 7 อีกครั้ง

ดังนั้นการทำงานแบบเสมือนจริง - ดูเหมือนว่าฉันกำลังเห็นความเสียหายบางอย่างในระบบย่อยการแสดงผลแบบอักษรระหว่างเครื่องโฮสต์ปัจจุบันของฉันและเครื่อง Windows 7/10 ปกติ "(จำไว้ว่าเครื่องโฮสต์ปัจจุบันของฉันได้รับการอัพเกรดจาก Windows 7 Ultimate เป็น Windows 10 Enterprise และมีปัญหาเกิดขึ้นใน Windows 7 Ultimate ก่อนที่ฉันจะทำการอัปเกรดจริง ๆ แล้วฉันหวังว่าการอัปเกรดจะแก้ไขปัญหานี้ - อนิจจามันไม่ได้)

ฉันจะพยายามค้นหา / เปรียบเทียบรายการรีจิสตรีที่สำคัญเพื่อความไม่เสมอภาคในเวลาว่างของฉัน แต่ฉันก็ยังอยากได้ยินจากผู้เชี่ยวชาญที่อาจช่วยฉันให้ไม่มีอะไรเป็นต้นเหตุ


ซอฟต์แวร์ VM อะไร
Yorik

1
แขกเป็นเครื่องเสมือน VMWare 12 Workstation แต่ฉันยังทำงานภายใต้ HyperV
Jazimov

ฉันรู้ว่า Word แสดงผลประมาณ 300dpi ภายในและจากนั้นแสดงตัวอย่างเพื่อแสดง รุ่นโฮสต์ในรูปภาพของคุณดูเหมือนว่าจะแสดงที่การตั้งค่า DPI ที่ต่ำกว่า ไม่แน่ใจว่าทำไม ฉันไม่รู้เกี่ยวกับการแสดงผลแบบอักษรใน Windows 10 แต่ดูเหมือนว่าพวกเขาจะใช้การแสดงผล subpixel แทน greyscale AA เนื่องจากการแสดงผล subpixel มีการวางแนวและไม่มีประโยชน์สำหรับอุปกรณ์เคลื่อนที่และหมุนได้ ถ้าฉันต้องเดาฉันจะบอกว่าปัญหาอยู่ที่ฮาร์ดแวร์วิดีโอเสมือนของ Guest VM นำเสนอต่อระบบปฏิบัติการ
Yorik

นี่ไม่ใช่ปัญหา VM (ดูบันทึกย่อที่เพิ่มของฉัน) แต่นั่นเป็นการคาดเดาที่สมเหตุสมผล คุณอาจจะพูดอะไรบางอย่างเมื่อพูดถึง DPI แต่ความคิด / ทฤษฎีของคุณน่าเสียดายที่ไม่มีผลกับการตั้งค่าของฉัน นอกจากนี้นี่ไม่ใช่ปัญหา "Windows 10 ในการทำสิ่งต่าง ๆ " ใหม่เช่นกัน โปรดทราบว่าเครื่องทั้งสองเครื่องเป็นเครื่อง Windows 10 - และความคิดเห็นใหม่ของฉันพิสูจน์ให้เห็นว่า Windows 10 ทำงานได้แตกต่างกันแม้ในเครื่องทางกายภาพที่เหมือนกัน ... เมื่อฉันบอกว่าฉันกำลังต่อสู้กับสิ่งนี้ :)
Jazimov

เชื่อมต่อผ่าน HDMI ไหม ตรวจสอบการตั้งค่าการ์ดวิดีโอของคุณเพื่อดูว่ามีการปรับหรือยกเลิกหรือไม่? IIRC Radeon การ์ดเป็นค่าเริ่มต้นสำหรับการเปิดใช้งานผ่านทาง HDMI และปรับขนาดให้ห่างจากเจ้าของภาษา
Yorik

คำตอบ:


2

ฉันไม่เคยสังเกตเห็นว่าการแสดงผลแบบอักษร ClearType ทำงานได้แย่ขนาดตัวอักษรใหญ่ ... แต่ใน Win10 ของฉันมันเหมือนกับคอมพิวเตอร์ของคุณ

พฤติกรรมที่คุณอธิบายในความคิดของฉันมันไม่ใช่ข้อผิดพลาด ... มันเป็นคุณสมบัติ :-)

ลองดูภาพต่อไปนี้:

ภาพ 1 : การแสดงผล ClearType เปิด (คลิกที่ภาพเพื่อดูดีขึ้น)

การแสดงผล ClearType ON

เมื่อ ClearType เปิดอยู่เครื่องมือการแสดงผลแบบอักษรของ Windows จะพยายามปรับการแสดงผลแบบอักษรให้เหมาะสมโดยการใช้ประโยชน์จากพิกเซลย่อย LCD R / G / B หากคุณตรวจสอบภาพขยายทางด้านซ้ายคุณจะเห็นว่าแบบอักษรแต่ละตัวมีสีฟ้า / แดงที่ราบเรียบนี่เป็นเพราะโครงสร้างย่อยพิกเซล LCD ( ข้อมูลเพิ่มเติมเกี่ยวกับการแสดงพิกเซลย่อยที่นี่ )
แต่อย่างที่คุณสังเกตเห็นมันใช้งานไม่ได้กับตัวอักษรขนาดใหญ่
แต่มันก็ยังใช้งานได้ดีกับตัวอักษรขนาดเล็ก

ภาพที่ 2 : การแสดงผล ClearType ปิดอยู่ (คลิกที่ภาพเพื่อดูได้ดีขึ้น) ป้อนคำอธิบายรูปภาพที่นี่

หากคุณปิดการเรนเดอร์ ClearType แล้วฟอนต์การเรนเดอร์ตัวอักษร Windows จะหยุดการใช้ประโยชน์จากโครงสร้างพิกเซลย่อย LCD และตอนนี้ฟอนต์จะมีการปรับให้เรียบสีเทาแบบเรียบง่าย
ใช้งานได้ดีกับขนาดตัวอักษรขนาดใหญ่ ... แต่ใช้งานได้ไม่ดีกับขนาดตัวอักษรขนาดเล็กเนื่องจากคุณสามารถตรวจสอบได้โดยดูที่การสร้างชื่อไฟล์การแสดงผลเมนูและอื่น ๆ ...

ตอนนี้ความจริงที่ว่าบนพีซีเกสต์ของคุณมีการแสดงผลแบบอักษรได้ดีขึ้นอาจเป็นเพราะความจริงที่ว่าการแสดงผลแบบอักษรย่อยพิกเซล ClearType นั้นเปิดใช้งานเฉพาะเมื่อ Windows ตรวจพบหน้าจอ LCD จริง หากพีซีเสมือนไม่พบจอ LCD จริงอาจจะใช้การปรับแบบอักษร "มาตรฐาน" (โทนสีเทา) ให้เรียบขึ้น

ตอนนี้คุณสามารถลองบังคับให้ Windows ใช้ฟอนต์ "Standard / Grayscale" แบบเรียบแทน Cleartype / subpixel ที่ปรับให้เรียบขึ้น แต่ในคอมพิวเตอร์ของฉันมันไม่ได้สร้างความแตกต่างเลย แผงควบคุม. ( ข้อมูลเพิ่มเติมเกี่ยวกับการแฮ็กรีจิสทรีเพื่อปรับแต่งการแสดงผล Cleartype )


ข้อเสนอแนะที่ดี - และอาจเป็นคำตอบที่เหมาะสม ก่อนที่จะยอมรับฉันเป็นคนงงว่าทำไมอินสแตนซ์ใหม่ของ Windows 10 บนโฮสต์ของฉันไม่พบจอ LCD และใช้การลดรอยหยัก subpixel (เว้นแต่ว่าไดรเวอร์วิดีโอเริ่มต้นที่ Microsoft เลือกสำหรับอินสแตนซ์ Windows 10 ใหม่นั้นแตกต่างจากไดรเวอร์ ฉันติดตั้งอินสแตนซ์ Windows 7 ของฉันที่ฉันภายหลังอัพเกรดเป็น Windows 10) ... ฉันจะทดลองกับ VM เพื่อดูว่าฉันสามารถบังคับ subpixel เทียบกับการเรนเดอร์สีเทา - และฉันจะทดสอบกับโฮสต์และฉันจะโพสต์ อีกครั้งในไม่ช้า
Jazimov

@Jazimov การตรวจสอบการตรวจสอบนั้นทำโดย Windows โดยใช้การ์ดแสดงผลดังนั้นไดรเวอร์การ์ดแสดงผลอาจมีผลกระทบอย่างแน่นอนเกี่ยวกับวิธีการตรวจสอบการตรวจสอบโดย Windows
สูงสุด

ดังนั้นวิธี "ถูกต้อง" ในการใช้งานระบบเมื่อใช้จอแสดงผล LCD คืออะไร? หาก ClearType ปิดอยู่คุณจะสูญเสียการปรับปรุงการแสดงผลแบบอักษรขนาดเล็ก ถ้าเปิดอยู่คุณจะสูญเสียการปรับปรุงการแสดงผลแบบอักษรขนาดใหญ่ ... จะทำอย่างไร?
Jazimov

@Jazimov อาจจะไม่มีวิธีแก้ปัญหา ... ฉันเก็บ ebart cleartype เพราะฉันมักจะทำงานกับแบบอักษรขนาดเล็ก แต่มันเป็นเพียงฉัน ฉันไม่เคยสังเกตเห็นปัญหาการเรนเดอร์แบบอักษรขนาดใหญ่ก่อนที่จะอ่านโพสต์ของคุณ 2 ชั่วโมงที่ผ่านมา (ฉันเป็นนักพัฒนาซอฟต์แวร์และฉันใช้เวลาอย่างน้อย 11/12 ชั่วโมงที่พีซีในแต่ละวัน ... )
สูงสุด

ฉันจะยังคงทำ tweaking เพื่อดูสิ่งที่ฉันมาด้วย หลายคนคิดว่าคุณต้องเปิด ClearType เพื่อให้ได้ข้อความขนาดเล็กที่ยอมรับได้แม้ว่าคุณจะยกเลิกการเลือกโดยใช้หน้าแรกของเครื่องรับ ClearType คุณก็ยังสามารถผ่านกระบวนการปรับแต่งเพื่อปรับเทียบการแสดงผลของคุณ นั่นอาจเป็นทางออกที่ดีที่สุด: ClearType OFF แสดงการปรับเทียบ
Jazimov
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.