Vea la demostración en video en: vimeo.com/155636855
He lidiado con este problema durante demasiado tiempo; ahora me encantaría recibir ayuda externa.
* Esto no tiene nada que ver con la tecnología VM: vea la nota agregada al final de la publicación *
La imagen adjunta contiene una imagen lado a lado de un archivo de WordPad con texto que representa todas las letras del alfabeto, minúsculas y mayúsculas. La imagen de la izquierda se tomó de una máquina virtual con Windows 10 (el SO "invitado") que se ejecuta en un host con Windows 10 (el SO "host"); la imagen de la derecha fue tomada del host de Windows:
Amplíe la imagen y observe bien las diferencias alrededor de los bordes de cada letra: la izquierda es mucho más suave que la derecha, y en caso de que sienta la tentación de llegar a una conclusión rápida, CLEARTYPE NO ES EL PROBLEMA (vea los puntos a continuación) ), al menos no desde una perspectiva de "encendido" versus "apagado" (en otras palabras, una configuración de registro relacionada con ClearType podría estar involucrada, pero nada en la interfaz de usuario de Windows relacionada con ClearType está causando esto porque ambas máquinas están calibradas para ClearType y ClearType está activado tanto en máquinas host como invitadas).
Hechos:
Ambos sistemas operativos están utilizando el mismo archivo de fuente Myriad font TrueType (TTF)
Ambos sistemas operativos están configurados con la misma resolución de pantalla.
Pensé que esto era un problema de controlador de video de Windows, pero tengo el último controlador nVidia y estoy ejecutando una tarjeta GeForce GTX 560 de gama alta con DirectX 12 tanto en el host como en el invitado.
Ambos archivos de WordPad usan la misma fuente, tamaño de fuente, estilo de fuente y zoom (100%).
Ambos sistemas operativos Windows 10 se actualizan completamente con Windows Update.
ClearType está activo (activado) tanto en el host de Windows como en la máquina virtual. He probado varias combinaciones de ClearType (apagándolo en el host y apagándolo en el invitado, y todas las demás combinaciones) y no hay ningún cambio en el artefacto de vanguardia que se muestra en el host en comparación con el invitado.
No conozco ninguna diferencia de DPI entre el invitado y el host. Otras fuentes, como la fuente Arial incluida en Windows, muestran problemas similares similares solo en el host: simplemente elegí Myriad Pro para ilustrar el problema.
El color de ambas fuentes es 100% NEGRO (# 000).
Este problema aparece en TODAS las aplicaciones que pueden representar fuentes TrueType. Usé WordPad solo como ejemplo, pero también ocurre en Microsoft PowerPoint y Camtasia de TechSmith.
Este problema no está relacionado con las fuentes TrueType; sucede también para las fuentes OTF.
Y, por lo que vale, no importa si veo el host desde otra computadora a través de una sesión de escritorio remoto (RDP) o usando algo como TeamViewer; Además, el comportamiento del invitado no cambia cuando uso RDP o TeamViewer.
Claramente, algo está mal con el subsistema de representación de fuentes en el host. Curiosamente, el host era una máquina Windows 7 Ultimate hasta hace aproximadamente una semana (principios de febrero de 2016), cuando lo actualicé instalando Windows 10 Enterprise. Tenía la esperanza de que hacer una actualización de Windows 7 a Windows 10 solucionaría el problema de representación de fuentes, especialmente porque ya vi que Windows 10 ejecutándose en una máquina virtual en el mismo host no tenía el problema de representación de fuentes. Desafortunadamente, la actualización de Windows 10 no solucionó el procesamiento de la fuente (no realicé una nueva instalación de Windows 10, hice la actualización que conserva los archivos y configuraciones anteriores del sistema operativo).
Debido a todo lo que escribí anteriormente, sospecho que hay algún valor dañado, faltante o incorrecto en el registro relacionado con la representación de fuentes para el sistema operativo host, pero ¿qué podría ser?
* Agregado 12/02/2016 * Tomé un disco duro nuevo e instalé una instancia limpia de Windows 10 en el mismo hardware en el que se ejecuta el "host" al que me refiero anteriormente. La nueva instancia de Windows 10 tiene fuentes suaves, al igual que la instancia de máquina virtual (VM) de Windows 10. Esto me dice que el hardware de la máquina no está causando que el problema genere la imagen a la derecha y que la VM (o virtualización tecnología) no es la razón de la disparidad. Ahora tengo el disco duro A con Windows 10 en una máquina física en la que puedo iniciar y ver la imagen a la derecha; Tengo un segundo disco duro B con Windows 10 en la misma máquina en la que puedo iniciar para mostrar la imagen de la izquierda.
Luego limpié ese nuevo disco duro e instalé Windows 7 Ultimate del DVD de instalación de la fuente de Microsoft. También representa la imagen a la IZQUIERDA (las fuentes correctas y suaves). Entonces, el problema no es que Windows 7 tenga el problema en mi hardware y que Windows 10 no lo corrija; ahora tengo claro que Windows 7 no muestra el problema de la fuente en mi hardware si reinstalo Windows 7.
Entonces, dejando de lado la virtualización: parece que estoy presenciando algún tipo de corrupción en el subsistema de representación de fuentes entre mi máquina host existente y una máquina Windows 7/10 "normal" (recuerde, mi máquina host existente se actualizó desde Windows 7 Ultimate a Windows 10 Enterprise y el problema existía en Windows 7 Ultimate antes de realizar la actualización; de hecho, esperaba que la actualización solucionara este problema, por desgracia, no lo hizo).
Intentaré buscar / comparar las entradas clave del registro en busca de disparidades en mi tiempo libre, pero todavía estoy ansioso por saber de cualquier experto que pueda ayudarme a concentrarme en la causa raíz.
fuente
Respuestas:
Nunca me di cuenta de que el renderizado de fuentes ClearType funciona tan mal en un tamaño de fuente grande ... pero en mi Win10 es lo mismo que en su computadora.
El comportamiento que describe, en mi opinión, no es un error ... es una característica :-)
Echa un vistazo a las siguientes imágenes:
Imagen 1 : la representación de ClearType está activada (haga clic en la imagen para verla mejor)
Cuando ClearType está activado, el motor de representación de fuentes de Windows intenta optimizar la representación de fuentes aprovechando el subpíxel LCD R / G / B. Si marca la imagen ampliada a la izquierda, puede ver que cada fuente tiene un suavizado azulado / rojizo, esto se debe a la estructura del subpíxel de la pantalla LCD ( más información sobre la representación del subpíxel aquí ).
Pero, como notó, esto funciona mal en el tamaño de fuente grande.
Pero aún funciona muy bien en un tamaño de fuente pequeño.
Imagen 2 : la representación de ClearType está DESACTIVADA (haga clic en la imagen para verla mejor)
Si desactiva la representación de ClearType, el motor de representación de fuentes de Windows dejará de aprovechar la estructura de subpíxeles de la pantalla LCD y ahora la fuente tendrá un suavizado gris simple (en lugar del suavizado azulado / rojizo).
Esto funciona mejor en el tamaño de fuente grande ... pero funciona muy mal en el tamaño de fuente pequeño, como puede comprobar mirando la representación del nombre del archivo, la representación del menú, etc.
Ahora, el hecho de que en su PC huésped la reproducción de la fuente parezca mejor, probablemente se deba al hecho de que la reproducción de la fuente de subpíxeles ClearType se habilita solo cuando Windows detecta una pantalla LCD física. Si la PC virtual no detecta una pantalla LCD física, probablemente usará el suavizado de fuente "estándar" (escala de grises).
Ahora podría intentar forzar a Windows a usar el suavizado de fuente "estándar / escala de grises", en lugar de suavizar Cleartype / subpixel, pero en mi computadora no hizo ninguna diferencia: forzar el suavizado de escala de grises da el mismo resultado que deshabilitar Cleartype de panel de control. ( Más información aquí sobre hacks de registro para intentar modificar la representación de Cleartype )
fuente