In today’s release of the MetroTwit Loop beta, we have started our migration of our WPF codebase to Microsoft’s .NET 4.5 Framework, officially released just a month ago. This is a significant change bringing notable performance and memory improvements, however it drops support for Windows XP.
We would encourage everyone to download the new release and experience the snappier responsiveness for themselves but we also wanted to provide a behind-the-scenes peek at why this is now possible.
On Microsoft’s page highlighting the new features and enhancements to Windows Presentation Foundation 4.5, the most significant feature for MetroTwit for Desktop is the addition of a new list virtualization feature which we’ve been silently praying for since the early days of our project’s development.
As some of our heavy users would know, our app can display quite a number of tweets in the column lists. Previously, all of these tweets would be rendered and stored in memory, even if they are not visible – far off the page.
Virtualization is a platform rendering feature that attempts to solve the above issue by “hiding” the items of a list that is not currently visible (scrolled far off the list), and thus also saving memory. Previously, WPF restricted the use of virtualization to “item scrolling” which severely degraded the user experience which we chose not to sacrifice.
Now with WPF 4.5, virtualization is also available for “pixel scrolling” which delivers the smooth and familiar scrolling experience people expect, thus we are able to utilize it to its full advantage without compromise.
We hope this explanation provides some useful insight into our eager adoption of .NET 4.5 for MetroTwit for Desktop. We understand and appreciate that a number of our loyal users are still on Windows XP and we would encourage those users to upgrade their systems where possible.
We look forward to shipping numerous new features and performance enhancements to MetroTwit for Desktop over the coming weeks and months.
– David Golden, Winston Pang, Long Zheng