Should I migrate my .NET 8 WinForms trading application to WPF? Concerns about Market Watch performance and latency.

Aman Agrahari 60 Reputation points
2025-08-06T12:31:25.4966667+00:00

Hello,

We have a desktop trading application using .NET 8 WinForms. The UI is intentionally kept minimal and straightforward. A core features of our app are Market Watch, Trade, Buy-Sell Order screen, etc.
Market Watch component that updates live trading data for more than 1000 securities, refreshing certain columns every second.

We are now evaluating a UI upgrade and are considering migrating from WinForms to WPF, keeping the same layout and components visually similar to the existing application.

Before making this shift, we need clarity on the impact of moving to WPF, especially in terms of:

  1. UI refresh performance (per-second updates across 1000s of rows).
  2. Latency or delays during real-time updates.
  3. Memory usage and rendering efficiency compared to WinForms.
  4. Data binding overheads in WPF for large data sets with frequent updates.
  5. Whether WPF’s architecture (retained-mode graphics, data virtualization, visible tree etc.) would help or hurt in such high-frequency, low-latency UI updates.
  6. Whether existing third-party control FarPoint Spread will work better in WPF for our use case.
    7.My TWS application is currently built as a 32-bit solution, but it runs on 64-bit systems, will this cause any problem in WPF.

Has anyone implemented a trading dashboard or market watch in WPF at production scale?
Should we stick to WinForms for better raw performance, or is WPF viable without impacting UI responsiveness and latency?
Any benchmarks, real-world migration experience, or best practices are highly appreciated.

Thanks in advance!

Developer technologies | .NET | .NET Runtime
0 comments No comments
{count} votes

1 answer

Sort by: Most helpful
  1. Bruce (SqlWork.com) 79,101 Reputation points Volunteer Moderator
    2025-08-06T17:47:19.5833333+00:00

    WinForms is a wrapper around the native controls. WPF is a drawing canvas approach. Each WPF component is responsible for drawing itself on the canvas. Display performance in WPF is often tied to reducing re-render by accurate detection of when redraw is required by the component.

    • in general WPF uses more memory for UI components.
    • the default behavior for data binding to large lists is poor. if you have 100's of rows, you will need to implement UI virtualization, virtual scrolling and probably container recycling.
    • as you have complete rendering control in WPF, you can out perform WinForms, but this is not typically an out of the box experience.
    • you should ask your 3rd party vendors on performance.
    • as windows 10 is out of support, and windows 11 is 64 bit only, you might as well make the jump to 64 bit.

    note: both of these packages are mature, and probably receive few enhancements. WinUI is the current UI platform for building windows applications:

    https://learn.microsoft.com/en-us/windows/apps/winui/

    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.