Vista가 처음 출시되었을 때 WPF가 버전 3.0에있을 때 내장 된 돋보기로 확대/축소하면 실제로 벡터 기반 확장이 수행됩니다.
WPF 3.5 서비스 팩 1이 제공되면 작동이 중지됩니다. (sp1 이전에는 3.5에서 작동했습니다.) 그 전에 작업 한 이유는 DWM (Desktop Window Manager) - 화면에 표시된 모든 것을 표시하는 Windows의 일부 - MILCORE.DLL을 사용하여 렌더링을 수행한다는 것입니다. WPF의 버전 3.0과 3.5도이 동일한 구성 요소를 사용하여 렌더링했습니다. 즉, 모든 WPF 내용이 원래의 내용이었습니다. (사실, DWM이없는 Windows XP에서 MILCORE.DLL은 WPF가 자신의 이익을 위해 시스템에 넣는 것이지만 Vista와 Windows 7에 내장되어 있습니다.) WPF가 MILCORE.DLL을 사용하여 비스타에서 렌더링 할 때, 스케일링과 같은 DWM에 의해 적용된 모든 효과는 WPF에서 원하는 방식으로 적용됩니다. 실제로 픽셀 화하지 않고 스케일을 적용했습니다.
불행히도 이것은 더 이상 적용되지 않습니다. 그 이유는 WPF가 새로운 렌더링 기능을 추가하기 시작했기 때문입니다. 3.5 SP1에서는이 새로운 기능이 맞춤형 픽셀 쉐이더를 지원했습니다. 이를 가능하게하려면 Microsoft는 MIL에 대한 업데이트를 릴리스해야했습니다. (미디어 통합 레이어 - 실제 렌더링을 수행하는 비트입니다.) 그러나 MILCORE.DLL은 Windows의 일부이기 때문에 실제로 업데이트 할 수있는 위치에 있지 않았습니다. 화면에 표시되는 모든 내용이 화면에 표시되는 방식입니다. MILCORE.DLL의 새 버전을 발표하는 것은 Windows에 대한 업데이트를 효과적으로 푸시하는 것을 의미합니다. Windows의 릴리스 일정은 .NET의 릴리스 일정과는 독립적이므로 WPF 팀이 새로운 기능을 합리적으로 추가 할 수있는 유일한 방법은 새 MIL을 제공하는 것입니다. (이론적으로 그들은 Windows Update를 통해이 작업을 수행 할 수 있었지만 WPF는 현재 Windows와는 다른 Microsoft 부서에서 소유하고 있기 때문에 이러한 종류의 문제는 실제로 발생하지는 않습니다.)
sp1에서 MIL은 wpf_gfx_vXXXX.dll이라는 다른 DLL에 있습니다. 여기서 vXXXX는 버전 번호입니다. .NET 4.0에서는 wpf_gfx_v0400.dll입니다.
위의 단점은 WPF가 Windows 자체를 업데이트 할 필요없이 새로운 버전마다 새로운 렌더링 기능을 추가한다는 점입니다. 단점은 Vista가 출하 될 때 WPF의 렌더링이 더 이상 Windows와 긴밀하게 통합되지 않는다는 것입니다. 그리고 당신이 보았던 것처럼, 결과는 예전만큼이나 재미 있지 않습니다.
와우, 그런 완전한 대답! 잘 했어 그리고 설명을 해줘서 고마워! – Boris
매우 철저한 대답입니다. +1! 그리고 놀라운 점은 놀랄만 한 기능이었고 OS 레벨의 각 창에 대해 개별적으로 줌을 변경할 수있는 것으로부터 불과 5 분 밖에 안된다고 생각했습니다. 흐림없이 ... 오, 꿈을 꿀 수 있습니다. –
실제로 그리피스 씨의 Pluralsight 비디오에서 비스타의 돋보기를 시연 해 보았습니다. Windows 10에서 나에게 도움이되지 않는다는 것을 알았습니다. 단지 StackOverflow에서 Ian 자신이 업데이트 한 것을 발견했습니다. –