Zobacz prezentację wideo na: vimeo.com/155636855
Zbyt długo zmagałem się z tym problemem - teraz chciałbym uzyskać pomoc z zewnątrz.
* To nie ma nic wspólnego z technologią VM - patrz dodana uwaga na końcu postu *
Załączony obraz zawiera obok siebie obraz pliku WordPad z tekstem reprezentującym wszystkie litery alfabetu, małe i wielkie litery. Zdjęcie po lewej zostało pobrane z maszyny wirtualnej z systemem Windows 10 (system „gościa”) działającej na hoście z systemem Windows 10 (system „host”); obraz po prawej został pobrany z hosta Windows:
Powiększ obraz i przyjrzyj się różnicom wokół krawędzi każdej litery: lewa strona jest znacznie gładsza niż prawa - a jeśli masz ochotę przejść do szybkiego zakończenia, CLEARTYPE NIE JEST PROBLEMEM (patrz punkty poniżej ), przynajmniej nie z perspektywy „włączony” kontra „wyłączony” (innymi słowy, ustawienie rejestru związane z ClearType może być zaangażowane, ale nic w interfejsie użytkownika Windows związanym z ClearType nie powoduje tego, ponieważ oba komputery są skalibrowane dla ClearType i Funkcja ClearType jest WŁĄCZONA na komputerach hosta i gości).
Fakty:
Oba systemy używają tego samego pliku czcionek Myriad Font TrueType (TTF)
Oba systemy operacyjne są ustawione na tę samą rozdzielczość ekranu.
Myślałem, że to problem ze sterownikiem wideo systemu Windows, ale mam najnowszy sterownik nVidia i korzystam z stosunkowo wysokiej klasy karty GeForce GTX 560 z DirectX 12 zarówno na hoście, jak i gościu.
Oba pliki WordPad używają tej samej czcionki, rozmiaru czcionki, stylu czcionki i powiększenia (100%).
Oba systemy operacyjne Windows 10 są w pełni aktualizowane przy użyciu Windows Update.
ClearType jest aktywny (włączony) zarówno na hoście Windows, jak i na maszynie wirtualnej. Próbowałem różnych kombinacji ClearType (wyłączanie go na hoście i wyłączanie go dla gościa oraz wszystkie inne kombinacje) i nie ma żadnych zmian w szorstkim artefakcie wyświetlanym na hoście w porównaniu z gościem.
Nie znam różnic DPI między gościem a gospodarzem. Inne czcionki, takie jak czcionka Arial dołączona do systemu Windows, wykazują podobne ogólne problemy tylko na hoście - właśnie zilustrowałem problem Myriad Pro.
Kolor obu czcionek to 100% CZARNY (# 000).
Ten problem występuje we WSZYSTKICH aplikacjach, które mogą renderować czcionki TrueType. Użyłem WordPada jako przykładu, ale zdarza się to również w Microsoft PowerPoint i TechSmith's Camtasia.
Ten problem nie jest związany z czcionkami TrueType; zdarza się to również w przypadku czcionek OTF.
I, o ile jest to warte, nie ma znaczenia, czy przeglądam hosta z innego komputera za pomocą sesji pulpitu zdalnego (RDP) lub używając czegoś takiego jak TeamViewer; także zachowanie gościa nie zmienia się, gdy korzystam z RDP lub TeamViewer.
Najwyraźniej coś jest nie tak z podsystemem renderowania czcionek na hoście. Co ciekawe, host był maszyną z systemem Windows 7 Ultimate do około tygodnia temu (początek lutego 2016 r.), Kiedy to zaktualizowałem go, instalując system Windows 10 Enterprise. Miałem nadzieję, że takie uaktualnienie z Windows 7 do Windows 10 naprawi problem z renderowaniem czcionek, zwłaszcza że już widziałem, że Windows 10 działający na maszynie wirtualnej na tym samym hoście nie ma problemu z renderowaniem czcionek. Niestety aktualizacja systemu Windows 10 nie naprawiła renderowania czcionek (nie wykonałem świeżej instalacji systemu Windows 10 - zrobiłem aktualizację, która zachowuje poprzednie pliki i ustawienia systemu operacyjnego).
Ze względu na wszystko, co napisałem powyżej, podejrzewam, że istnieje jakaś uszkodzona, brakująca lub niepoprawna wartość rejestru związana z renderowaniem czcionek w systemie operacyjnym hosta - ale co to może być?
* Dodano 2/12/2016 * Wziąłem nowy dysk twardy i zainstalowałem czystą instancję Windows 10 na tym samym sprzęcie, na którym działa „host”, o którym mowa powyżej. Nowa instancja systemu Windows 10 ma gładkie czcionki, podobnie jak instancja maszyny wirtualnej (VM) w systemie Windows 10. To mówi mi, że sprzęt maszyny nie powoduje, że problem generuje obraz po prawej stronie i że maszyna wirtualna (lub wirtualizacja technologia) nie jest przyczyną rozbieżności. Mam teraz dysk twardy A z systemem Windows 10 na komputerze fizycznym, na którym mogę się uruchomić i zobaczyć obraz po prawej stronie; Mam drugi dysk twardy B z systemem Windows 10 na tej samej maszynie, na której mogę uruchomić komputer, aby wyświetlić obraz po lewej stronie.
Następnie wyczyściłem nowy dysk twardy i zainstalowałem system Windows 7 Ultimate ze źródłowej płyty instalacyjnej Microsoft. Renderuje również obraz po LEWEJ (poprawne, gładkie czcionki). Problem nie polega na tym, że Windows 7 ma problem z moim sprzętem i że Windows 10 go nie naprawia - dla mnie jest teraz jasne, że Windows 7 nie pokazuje problemu z czcionkami na moim sprzęcie, jeśli ponownie zainstaluję Windows 7.
Poza wirtualizacją - wydaje się, że jestem świadkiem jakiegoś uszkodzenia w podsystemie renderowania czcionek między moją istniejącą maszyną hosta a „normalną” maszyną Windows 7/10 (pamiętaj, że moja obecna maszyna hosta została uaktualniona z systemu Windows 7 Ultimate do systemu Windows 10 Enterprise, a problem istniał w systemie Windows 7 Ultimate, zanim dokonałem aktualizacji; w rzeczywistości miałem nadzieję, że aktualizacja rozwiąże ten problem - niestety nie.
Spróbuję poszukać / porównać kluczowe wpisy rejestru pod kątem rozbieżności w wolnym czasie, ale nadal jestem chętny do kontaktu z ekspertami, którzy mogą pomóc mi wyzerować główną przyczynę.
źródło
Odpowiedzi:
Nigdy nie zauważyłem, że renderowanie czcionek ClearType działa tak źle na dużych rozmiarach czcionek ... ale na moim Win10 jest tak samo jak na twoim komputerze.
Opisane przeze mnie zachowanie, moim zdaniem, nie jest błędem ... to funkcja :-)
Spójrz na następujące obrazy:
Obraz 1 : Renderowanie ClearType jest WŁĄCZONE (kliknij obraz, aby zobaczyć go lepiej)
Gdy funkcja ClearType jest WŁĄCZONA, mechanizm renderowania czcionek systemu Windows próbuje zoptymalizować renderowanie czcionek, wykorzystując subpiksel LCD R / G / B. Jeśli sprawdzisz powiększony obraz po lewej stronie, zobaczysz, że każda czcionka ma niebieskawo-czerwonawe wygładzenie, wynika to ze struktury subpikseli LCD ( więcej informacji na temat renderowania subpikseli tutaj ).
Ale, jak zauważyłeś, działa to źle na dużych rozmiarach czcionek.
Ale nadal działa bardzo dobrze na małych rozmiarach czcionek.
Obraz 2 : Renderowanie ClearType jest wyłączone (kliknij obraz, aby zobaczyć go lepiej)
Jeśli wyłączysz renderowanie ClearType, silnik renderowania czcionek systemu Windows przestanie wykorzystywać strukturę subpikseli LCD, a teraz czcionka będzie miała proste wygładzanie szarości (zamiast tego wygładzanie niebieskawe / czerwonawe).
Działa to lepiej w przypadku dużych rozmiarów czcionek ... ale działa bardzo źle w przypadku małych rozmiarów czcionek, co można sprawdzić, patrząc na renderowanie nazw plików, renderowanie menu i tak dalej ...
Teraz fakt, że renderowanie czcionek na komputerze-gościu wydaje się lepsze, prawdopodobnie wynika z faktu, że renderowanie czcionek podpikselowych ClearType jest możliwe tylko wtedy, gdy system Windows wykryje fizyczny ekran LCD. Jeśli wirtualny komputer nie wykryje fizycznego wyświetlacza LCD, prawdopodobnie użyje wygładzania czcionek „standardowych” (w skali szarości).
Teraz możesz spróbować zmusić system Windows do korzystania z wygładzania czcionek „standard / skala szarości” zamiast wygładzania Cleartype / subpixel, ale na moim komputerze nie miało to żadnej różnicy: wymuszenie wygładzania skali szarości daje taki sam efekt jak wyłączenie Cleartype z panel sterowania. ( Więcej informacji na temat włamań do rejestru, aby spróbować poprawić renderowanie typu Cleartype )
źródło