Sign in to follow this  
Rick Brewster 4.2.9 alpha build 7326 -- big performance and memory improvements!

Recommended Posts

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. Please install!!! 😁 


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).


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 (thanks @null54)


I am hoping/planning to push out the final release by the end of January. Enjoy!

  • Like 3
  • Upvote 2

Share this post

Link to post
Share on other sites

If the Magic Wand or Paint Bucket tool takes more than a second or so, it will add the busy spinner to the canvas where you clicked. I find it works better than the marquee in the status bar.

Share this post

Link to post
Share on other sites
7 hours ago, Ishi said:

What exactly is the "busy spinner" addition?


to elaborate on my response above, an easy way to see this is to open a very large image and use the Magic Wand or Paint Bucket in it


If you need an image that works well, create a 20480 x 20480 image (or larger/smaller depending on how much RAM you have) and do an Effects -> Render -> Mandelbrot. Then, click with the MW in the big white area near the bottom.

Share this post

Link to post
Share on other sites
This topic is now closed to further replies.
Sign in to follow this