I’ve been working on 4.2.9 for the last month and a half, and really put some work into some big improvements for performance and memory usage. These improvements cut across almost everything you can do in the app, so having a lot of participation in the alpha and beta builds will be really important.
Memory usage is way down, especially when opening many images. Undo/redo should be a lot faster. Finishing/committing actions with most tools should be a lot faster. Effect rendering, particularly when you have a complex selection, should be much more responsive. A lot of these optimizations will scale with CPU core count (more faster CPU = more faster PDN), but should also show great improvements on low-end systems (e.g. dual core CPU, low-power laptop). It’s win-win!
To get this update, make sure you have "Also check for pre-release (beta) versions" enabled in Settings, and then click on the Check Now button. (Unfortunately alpha/beta releases are not currently available for the Microsoft Store version of the app).
You can also join the conversation over at the forum.
Changes since 4.2.8:
- Reduced overall memory usage (commit size) by up to 1/3rd by eliminating the use of and need for a per-image scratch buffer
- Greatly improved performance when finishing actions of most tools by employing a shared cache between the render and commit code paths
- Reduced memory usage when working with many tools by consolidating homogenous tiles (those that are comprised of a single pixel value)
- Significantly improved performance of most history actions (commit, undo, redo) by switching from NTFS compression to multithreaded LZ4 compression for history files
- Significantly improved performance of undo/redo with very complex selections (like from the Magic Wand tool)
- Improved performance of Image -> Flatten (also affects flattening when saving)
- Improved performance of the Invert Colors and Desaturate adjustments by disabling hardware acceleration for them (too much overhead in copying tiles to the GPU for such trivial rendering kernels)
- Improved performance when saving by moving thumbnail rendering for the File -> Open Recent menu to a background thread
- Reduced memory usage when printing, and removed a rare crash that would happen if the scratch buffer couldn’t be acquired
- Added a "busy spinner" to the canvas when using the Magic Wand and Paint Bucket tools
- Improved performance of effect rendering when a complex selection is active (improved caching)
- Fixed a layout bug with the image list button
- Fixed an error that prevented saving some images as JPEGs if they had EXIF Interop metadata (PropertyNotFoundException)
- Fixed a crash when running on a CPU that supports AVX but with an OS that is configured to not support it (via bcdedit /set xsavedisable 1)
- Fixed a crash when pressing the spacebar after switching to a tool but before it has received any mouse input events
- Fixed a rare crash when opening the Levels adjustments with certain types of selections
- Fixed a crash when checking for updates with an expired alpha/beta build
- Fixed a crash (FileLoadException) when DLLs are not updated by the updater.
- Updated WebPFileType plugin to version 126.96.36.199 (thanks @null54)
I am hoping/planning to push out the final release by the end of January. Enjoy!