Question

I want to add a diagnostics screen to my application which would test resources like RAM, CPU, WPF performance and compare it to a benchmark.

I am looking for a library or open source project that makes it easy to get a baseline of computing performance (RAM, CPU, GPU, etc) to compare fast machines with slow machines, with a goal of identifying the source of performance problems. I aim to get a high-level answer of which computing resource may be causing a slowdown. This would help focus troubleshooting efforts in the right direction.

I am imagining something like a cross between a standard computer hardware / network performance benchmark tool, crossed with DxDiag (for DirectX) which measures the time it takes to render a bouncing ball, etc.

The ideal solution would be written in .net and have these built in:

  • WPF Rendering/shading speed test.

  • CPU speed test

  • Network (LAN) speed test (throughput and latency)

  • RAM speed test

  • Display the memory used by the application, and how much memory is available.

What open source project or off-the-shelf library do you recommend?

Additional Information:

My application is used by professionals, contains mostly textual information, a few icons, plenty of shading and a few little mouse-activated animation effects here and there. I aim to get a high-level answer of which computing resource may be causing a slowdown.

Was it helpful?

Solution 3

I haven't found anything quite like what I'm looking for, however, this article may prove useful, as it shows how to measure how long it takes to render some WPF.

OTHER TIPS

It's not for embedding, but are you aware of the WPF Performance Suite?

For Vista machines and higher you can access the Windows Experience Index scores. This would give you a high level glance on what could be the bottleneck on a system (CPU, video card, memory, or disk drive).

Each time a test is done it creates a file in %Windows%\Performance\WinSAT\DataStore\

You can simply check for the one with the most recent timestamp and read the values directly. Just read the elements between the tags.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top