WPF performance and .NET Framework Client Profile related blogs provided by Jossef Goldberg.
Below is a list of the performance improvements that you can expect to see in WPF in .Net 3.5 and .Net 3.0 SP1:
Layered Window performance was one of top customer complaints. They are now addressed with a QFE/Hotfix.
These hotfixes are not available for direct download. End users should call Microsoft PSS to obtain them.
Developers and OEMs can contact Microsoft PSS to discuss redistribution rights.
The hotfixes will be included in the next service pack of Microsoft OS’s
For Windows Vista:
§ See: http://support.microsoft.com/kb/938660
§ Hotfix is forthcoming in Vista SP1 (fixes are in milcore.dll)
• The Hotfix improves the read-back of video memory to system memory and therefore the degree of noticeable improvements will depend on certain machine characteristics, such as the video bus speed, the video bus type (e.g. expect better performance on PCIe vs. AGP bus), etc
For Windows XP/Server 2003:
§ Layered Windows was rendered in software, which had performance issues. The hotfix addresses this. On XP layered windows will render using hardware acceleration (if the hardware supports it). If so, you should be able to see significant performance improvement with this hotfix.
§ See http://support.microsoft.com/kb/937106/en-us. (fixes are in d3d9.dll)
§ Hotfix is slated in the upcoming Windows XP SP3
Other Layered Window improvements:
.Net 3.0 SP1 fixes a performance issue that is related to user switching.
A Layered window app running under another user profile caused higher CPU usage. This is now fixed for both XP & Vista.
Improvements should be noticeable in applications that bind to an XML source.
This improvement mainly relates to how WPF reacts to changes in the XML source tree.
We made small incremental improvements to cold and warm startup time.
We made incremental improvements to working set and hit testing under certain scenarios.
6. New Software rendering API
As reported (see here), depending on the machine configuration and the application, software-based rendering is sometimes faster than hardware.
A new API is now available to allow developers to force software rendering in his/her application (per window) instead of using the GPU.
This should provide developers a much better alternative than setting the global ‘Disable HW Acceleration’ registry key (See: http://msdn2.microsoft.com/en-us/library/aa970912.aspx)
See: http://msdn2.microsoft.com/en-us/library/aa970912.aspx)
Here is an example on how one can use this API.
private void OnLoaded(object sender, EventArgs e)
{
if (ForceSoftware)
HwndSource hwndSource = PresentationSource.FromVisual(this) as HwndSource;
HwndTarget hwndTarget = hwndSource.CompositionTarget;
// this is the new WPF API to force render mode.
hwndTarget.RenderMode = RenderMode.SoftwareOnly;
}
This could improve rendering performance for certain scenarios and machines configuration, in most cases HW rendering should perform better. Please use carefully and verify with your app and machine configuration
7. Other notable Graphics perf improvements
8. Battery life improvement
This is addressed in WPF 3.0 Sp1.
It is important to note that the app developer can work around this issue by:
· Not using DecelerationRatio / AccelerationRatio in the app, or
· Explicitly stopping the animation clock.
(see http://support.microsoft.com/default.aspx/kb/925255)
PingBack from http://www.artofbam.com/wordpress/?p=6938
WPF Performance is a WPF performance related blogs.Two entries worth mentioning: Improving WPF applications
After WPF performance sessions is over, one of WPF performance PMs, Josef Goldberg discovered in his
Néhány napja került fel a Microsoft support honlapjára egy fontos, a WPF alkalmazások teljesítményét
As you know the .NET Framework 3.5 Service Pack 1 Beta download is now available. There are many improvements
I know I am a little late on blogging about .NET 3.5 SP1, but here goes... This is a huge release...
Great post!
Especially for Intel's Atom CPU and GMA 500 graphics (Panasonic toughbook CF-H1) software rendering is many times faster than hardware!
wow, this is like night and day on older machines with crappy video hardware. I wish i knew this a year ago!