在 Windows XP WPF 下,真正的 3D 内容(通常使用 Viewport3D 控件显示)看起来非常难看,因为默认情况下它不像其他 WPF 图形那样具有抗锯齿功能。 特别是在较低分辨率下,体验非常糟糕,以至于无法在生产代码中使用。
我已经设法使用驱动程序的设置在某些 Nvidia 显卡上强制执行抗锯齿功能。 不幸的是,这有时会产生丑陋的工件,并且仅适用于特定的卡和驱动程序版本。 微软在这方面的官方说法是,Windows XP 下通常不支持抗锯齿 3D,而我看到的工件是由于 WPF 已经实现了自己的抗锯齿功能(在 XP 上仅适用于 2D)。
所以我想知道是否还有其他秘密技巧可以让我在 Windows XP 下强制对 WPF 3D 内容进行抗锯齿。
Under Windows XP WPF true 3D content (which is usually displayed using the Viewport3D control) looks extremely ugly because it is by default not antialiased as the rest of the WPF graphics are. Especially at lower resolution the experience is so bad that it can not be used in production code.
I have managed to force antialiasing on some Nvidia graphics cards using the settings of the driver. Unfortunately, this sometimes yields ugly artifacts and only works with specific cards and driver versions. The official word from Microsoft on this regard is that antialiased 3D is generally not supported under Windows XP and the artifact I see result from the fact that WPF already does its own antialiasing (on XP only for 2D).
So I was wondering if there is maybe some other secret trick that lets me force antialiasing on WPF 3D content under Windows XP.
发布评论
评论(3)
我从 Matthew MacDonald 的 Pro WPF Windows Presentation Foundation in .NET 3.0 中得到的感觉是,这是不可能的:
我从未见过任何建议您可以在除 Vista 之外的任何操作系统上的 WPF 3D 中启用 AA,但如果有一种方法,这对我来说是新的,我也很想知道!
The feeling I get from Matthew MacDonald's Pro WPF Windows Presentation Foundation in .NET 3.0 is that it's not possible:
I've never seen anything to suggest that you can enable AA in WPF 3D on anything but Vista, but if there is a way it's new to me and I'd love to know as well!
您的显卡支持 Shader 2.0 吗? 您可以参考此 wiki 页面看看它是否...
Does your video card support Shader 2.0? You can refer to this wiki page to see if it does...
您尝试过这个吗(来自您在 MSDN 论坛上的帖子)?
Have you tried this (from your thread on MSDN forums)?