Reputation: 2098
We have a WPF application (.NET 4.5) that is running perfectly fine in most environments we have tried it on. However, on some AMD processor based platforms the performance is a nightmare and the application is virtually unusable. We have put platforms out on Azure and Amazon VM's with identical specs besides processor type Intel vs AMD. We have a laptop internally running AMD that is horrible as well.
We do have a machine with an AMD processor that uses an ATI video card. The performance is normal there. The laptop we have in house uses the onboard video and the VM uses VGA from the VM itself (both have poor performance).
I have looked at PriorityBoostEnabled and RenderMode, which hasn't helped and searched the web looking for similar issues, but haven't found much out there.
There is a similar thread on serverfault that hasn't gotten much attention. This is a standard .NET app and I don't see how it can be a coding issue. I have never put anything in any code before to target an AMD process different than an Intel based CPU.
Here's the serverfault thread: https://serverfault.com/questions/617779/wpf-application-issues-on-amd-cpu-vs-intel
Upvotes: 2
Views: 762
Reputation: 6318
This isn't a very concrete answer, but it almost assuredly comes down to whether or not WPF is detecting that it can render in hardware or not. If WPF drops to software rendering, there are many UI elements that will absolutely destroy performance(ie. drop shadows).
Here is more information about the rendering pipeline.
In a VM, you may not have access to ANY hardware rendering, which would account for the performance issue. On the AMD hardware you are looking at, the on-board graphics system may not support Direct X 7.0 or higher, which would drop to software rendering.
Hope this helps.
Upvotes: 2