6

在 Windows XP WPF 下,真正的 3D 内容(通常使用 Viewport3D 控件显示)看起来非常难看,因为默认情况下它不像其他 WPF 图形那样抗锯齿。尤其是在较低的分辨率下,体验非常糟糕,以至于无法在生产代码中使用。

我已经设法使用驱动程序的设置在某些 Nvidia 显卡上强制进行抗锯齿。不幸的是,这有时会产生丑陋的工件,并且仅适用于特定的卡和驱动程序版本。微软在这方面的官方说法是在 Windows XP 下通常不支持抗锯齿 3D,我看到的工件是由于 WPF 已经进行了自己的抗锯齿(在 XP 上仅用于 2D)。

所以我想知道是否还有其他一些秘密技巧可以让我在 Windows XP 下强制对 WPF 3D 内容进行抗锯齿处理。

4

3 回答 3

2

你试过这个(来自你在 MSDN 论坛上的帖子)吗?

好吧,似乎上面 MSDN 链接中的引用错误地指定了受影响的注册表根键。在 MSDN 中它被指定为 HKEY_CURRENT_USER,而正确的根键应该是 HKEY_LOCAL_MACHINE。我已经尝试将 HKEY_LOCAL_MACHINE\Software\Microsoft\Avalon.Graphics\MaxMultiplesampleType 设置为“4”,我可以在 XP 上为我的 WPF 应用程序获得抗锯齿。

于 2008-09-02T13:24:31.890 回答
2

我从.NET 3.0 中的 Matthew MacDonald 的 Pro WPF Windows Presentation Foundation 中得到的感觉是,这是不可能的:

WPF 的软件支持有一个例外。由于较差的驱动程序支持,如果您在 Windows Vista 上运行应用程序(并且您的视频卡有本机 Windows Vista 驱动程序),WPF 仅对 3-D 绘图执行抗锯齿。

我从来没有看到任何建议您可以在除 Vista 之外的任何东西上启用 WPF 3D 中的 AA,但如果有一种方法对我来说是新的,我也很想知道!

于 2008-09-02T21:43:52.223 回答
0

你的显卡支持 Shader 2.0 吗?您可以参考此 wiki 页面以查看是否可以...

于 2008-09-02T13:33:22.150 回答