我们有一个WPF应用程序(.NET 4.5),它在我们尝试过的大多数环境中都运行得很好。然而,在一些基于AMD处理器的平台上,性能是一个噩梦,应用程序实际上无法使用。除了英特尔和AMD处理器类型之外,我们已经在Azure和Amazon VM上推出了相同规格的平台。我们有一台内部运行AMD的笔记本电脑,这也很可怕。
我们确实有一台配备AMD处理器的机器,它使用ATI显卡。那里的表现是正常的。我们内部的笔记本电脑使用板载视频,虚拟机使用来自虚拟机本身的VGA (两者的性能都很差)。
我看过PriorityBoostEnabled和RenderMode,它们都没有帮助,我在网上搜索类似的问题,但没有找到太多。
在serverfault上也有一个类似的线程,但没有得到太多关注。这是一个标准的.NET应用程序,我不认为它会成为一个编码问题。我以前从来没有在任何代码中放任何东西来瞄准不同于基于英特尔的CPU的AMD进程。
下面是serverfault线程:https://serverfault.com/questions/617779/wpf-application-issues-on-amd-cpu-vs-intel
发布于 2014-08-15 01:56:04
这不是一个非常具体的答案,但它几乎可以肯定地归结为WPF是否检测到它可以在硬件中呈现。如果WPF下降到软件渲染,有许多UI元素将绝对破坏性能(即。阴影)。
以下是有关rendering pipeline的更多信息。
在VM中,您可能无法访问任何硬件渲染,这将导致性能问题。在您正在查看的AMD硬件上,板载图形系统可能不支持Direct X 7.0或更高版本,这将下降到软件渲染。
希望这能有所帮助。
https://stackoverflow.com/questions/25314315
复制相似问题