Batch Image Resizer
This application attempts to visually demonstrate the principles laid forth in the blog post about fully utilise all (potential) bottlenecks.
The source code can be retrieved from GitHub.
The size of the buffers as well as the number of threads that process the images can be tweaked. Try running a batch creating thumbnails, then run a batch on the thumbnails to enlarge them again. (Practically that would be crazy, but for the sake of changing the load balance between the reading, processing and writing it is an interesting thing to do).
This project has been assembled in a hurry, and that shines through. The gauges need double buffering and should only repaint the changed part, I'll fix that later. The big empty space in the middle will have a preview window, showing the effect while the settings on the right are tweaked. But since the main part of the app can at least run on my machine I thought it might be worth sharing.
A binary (Alpha) release zip can also be downloaded from the GitHub Releases.
This application demonstrates my programming performance tip featured in an e-Book ’52 Tips & Tricks to Boost .NET Performance’. If you are a programmer you’ll find 51 other helpful points in this book. Download it for free.