Atrás, cuando se lanzó Vista por primera vez, y cuando WPF estaba en la versión 3.0, el zoom con la lupa incorporada realmente haría escalas basadas en vectores.
Esto dejó de funcionar cuando se envió el paquete de servicio WPF 3.5 1. (Funcionó en 3.5 antes de sp1). La razón por la que funcionó antes de eso es que DWM (Desktop Window Manager), la parte de Windows responsable de presentar todo lo que ves en la pantalla, usa MILCORE.DLL para hacer su renderizado. La versión 3.0 y 3.5 de WPF también usaba este mismo componente para representar, esto significaba que todo el contenido de WPF era contenido nativo, por así decirlo. (De hecho, en Windows XP, que no tiene DWM, MILCORE.DLL es algo que WPF pone en su sistema para su propio beneficio. Pero está integrado en Vista y Windows 7.) Cuando WPF estaba usando MILCORE.DLL para renderizar en Vista, cualquier efecto aplicado por el DWM, como escalar, también se aplicaría de la forma que desee a WPF; realmente se escaló sin pixelar.
Lamentablemente, este ya no es el caso. Y la razón es que WPF comenzó a agregar nuevas características de renderizado. En 3.5 sp1, la nueva característica en cuestión fue el soporte para sombreadores de píxeles personalizados. Para habilitar eso, Microsoft tuvo que lanzar una actualización a la MIL. (La Capa de Integración de Medios - el bit que hace el renderizado real.) Sin embargo, no estaban realmente en posición de actualizar MILCORE.DLL, porque eso es parte de Windows, es como todo lo que ves en pantalla llega a estar en la pantalla. Liberar una nueva versión de MILCORE.DLL significa de manera efectiva enviar una actualización a Windows. El calendario de lanzamientos para Windows es independiente del de .NET, por lo que la única forma en que el equipo de WPF podría agregar nuevas características era enviar una nueva MIL. (En teoría, podrían haberlo hecho a través de Windows Update, pero dado que WPF ahora es propiedad de una división diferente de Microsoft que Windows, ese tipo de cosas no parece suceder en la práctica).
A partir de .NET 3.5 sp1, la MIL está en una DLL diferente llamada wpf_gfx_vXXXX.dll donde vXXXX es el número de versión. En .NET 4.0, es wpf_gfx_v0400.dll.
La ventaja es que WPF puede agregar nuevas características de representación con cada nueva versión, sin necesidad de que Windows se actualice. La desventaja es que el procesamiento de WPF ya no está tan bien integrado con Windows como lo fue brevemente cuando Vista se envió. Y el resultado es que, como has visto, esa ampliación no es tan divertida como solía ser.
Guau, ¡una respuesta tan completa! ¡Bien hecho y gracias por la aclaración! – Boris
¡Una respuesta muy completa, +1! Y qué vergüenza, esa fue una característica increíble y pensé que estábamos a sólo 5 minutos de poder cambiar el zoom por separado para cada ventana en el nivel del sistema operativo y sin la falta de definición ... bueno, uno puede soñar. –
En realidad, llegué aquí de uno de los videos de Pluralsight del Sr. Griffiths en el que demostró la lupa en Vista, y vi que no funcionaba para mí en Windows 10, solo para encontrar una actualización del mismo Ian en StackOverflow. ¡Qué bien! –