Hexcede Posted November 28, 2019 Share Posted November 28, 2019 Time and time again my progress is slowed down by the way png saving works in PDN. I often work in files with many layers. When I save my layered files to png (or other) files I always get the "flatten" popup as well as the save dialogue and then I must unflatten the image which massively mucks up my workflow. I don't know why this prompt exists still but it honestly annoys the hell out of me and it takes several seconds extra to save my images when it could be much quicker. This is especially bad when I am making small tweaks to my files in quick succession. I save my files a lot and a lot of the time I spend on image editing is taken up by the saving process. An example of what I do which causes this problem: Image design for a website. I save the image, and refresh the page to view the logo again. The reloading process only takes a second to do but to make tiny adjustments it can take up a huge amount of the time I spend. I propose a two possible solutions to this. 1. Allow for users to automatically flatten images instead of asking every time. This is quick and you can just press ctrl+z after saving to unflatten the image. 2. Flatten the image, save it, and unflatten it. This would be the fastest option and I'd prefer it over the first one because of this. Quote Link to comment Share on other sites More sharing options...
toe_head2001 Posted November 28, 2019 Share Posted November 28, 2019 1) Ctrl+Shift+F 2) Ctrl+S 3) Ctrl+Z My stopwatch clocks in at ~1.5 seconds. Some people are even faster with their keyboard. You could even create a keyboard macro do it this for you. 1 Quote My Gallery | My Plugin Pack Layman's Guide to CodeLab Link to comment Share on other sites More sharing options...
Hexcede Posted November 28, 2019 Author Share Posted November 28, 2019 (edited) 14 hours ago, toe_head2001 said: 1) Ctrl+Shift+F 2) Ctrl+S 3) Ctrl+Z My stopwatch clocks in at ~1.5 seconds. Some people are even faster with their keyboard. You could even create a keyboard macro do it this for you. It's particularly slow on my machine then. I measured ~5 seconds mostly due to the time it takes to save the file/unflatten/flatten. I am not on a low end PC either. Here are my specs: Windows 10 64 bit 3.25 GHz (Overclocked to 3.75 GHz) AMD Ryzen 3 2200G 4.0 GB of RAM (I know it's not that much haha) Two identical SPCC SSDs (I get good write/read speeds usually and saving a small image file wouldn't take that long). An NVIDIA GeForce GT 730 (This card isn't that terrible. I am able to get FPS in the 80s and 90s in a lot of modern 3D games, for example Minecraft. I don't have performance problems with most software/games.) Paint.net version 4.2.6. Additionally you are saving to a non layered file if you are using Ctrl+S otherwise it would overwrite my layered pdn file. Here is what I do: Ctrl+S Ctrl+Shift+S Select png, press enter, press enter to override Press enter to accept save options Press enter to flatten Press ctrl+z to unflatten. For one thing, I shouldn't have to write a macro to save files. Secondly, I wouldn't be making a post if this wasn't effecting me my workflow. Trust me when I say that I sometimes spend more time waiting for PDN to save than actually working. Edited November 28, 2019 by Hexcede Quote Link to comment Share on other sites More sharing options...
Rick Brewster Posted November 28, 2019 Share Posted November 28, 2019 It sounds like what you really want is a "File -> Export" or "File -> Save a Copy" feature. @Bruce Bowyer-Smyth was working on this earlier in the year but development stalled on some design/workflow questions, and I haven't given it enough attention or priority. It's a popular feature request, I should probably get back to it now that a lot of other work has been completed and it's not quite yet time for work on 4.3 to ramp up fully. FWIW I've been looking into how to make general history operations a lot faster (which will make your save workflow faster). Right now it's bottlenecked by being synchronous ("not in the background"), by the CPU speed of NTFS compression, and then lastly by disk speed (almost all SSDs aren't bottlenecked at all here though). I can make it a lot faster, but it either takes a lot more disk space and disk activity, or a lot more memory. Right now I'm minimizing memory, minimizing disk space use and disk activity, but maximizing human waiting time and CPU time. It's no longer the right compromise. If I had to pick 1 thing for you to invest in it would be RAM. Thankfully RAM is really cheap right now! You can grab a pair of 8GB DDR4-2666 sticks (16GB total) for about $50 USD: https://www.newegg.com/p/pl?N=100007611 600521523 600006072 600561671&Order=PRICE 2 Quote The Paint.NET Blog: https://blog.getpaint.net/ Donations are always appreciated! https://www.getpaint.net/donate.html Link to comment Share on other sites More sharing options...
Ego Eram Reputo Posted November 28, 2019 Share Posted November 28, 2019 18 hours ago, toe_head2001 said: 1) Ctrl+Shift+F 2) Ctrl+S 3) Ctrl+Z My stopwatch clocks in at ~1.5 seconds. Some people are even faster with their keyboard. You could even create a keyboard macro do it this for you. Alternative keyboard combo without the need to flatten; Ctrl + Shift + C (copy merged i.e. all visible layers) Ctrl + Alt + V (paste into a new image) Ctrl + S (save) 1 2 Quote ebook: Mastering Paint.NET | resources: Plugin Index | Stereogram Tut | proud supporter of Codelab plugins: EER's Plugin Pack | Planetoid | StickMan | WhichSymbol+ | Dr Scott's Markup Renderer | CSV Filetype | dwarf horde plugins: Plugin Browser | ShapeMaker Link to comment Share on other sites More sharing options...
Hexcede Posted November 29, 2019 Author Share Posted November 29, 2019 (edited) 6 hours ago, Rick Brewster said: It sounds like what you really want is a "File -> Export" or "File -> Save a Copy" feature. @Bruce Bowyer-Smyth was working on this earlier in the year but development stalled on some design/workflow questions, and I haven't given it enough attention or priority. It's a popular feature request, I should probably get back to it now that a lot of other work has been completed and it's not quite yet time for work on 4.3 to ramp up fully. FWIW I've been looking into how to make general history operations a lot faster (which will make your save workflow faster). Right now it's bottlenecked by being synchronous ("not in the background"), by the CPU speed of NTFS compression, and then lastly by disk speed (almost all SSDs aren't bottlenecked at all here though). I can make it a lot faster, but it either takes a lot more disk space and disk activity, or a lot more memory. Right now I'm minimizing memory, minimizing disk space use and disk activity, but maximizing human waiting time and CPU time. It's no longer the right compromise. If I had to pick 1 thing for you to invest in it would be RAM. Thankfully RAM is really cheap right now! You can grab a pair of 8GB DDR4-2666 sticks (16GB total) for about $50 USD: https://www.newegg.com/p/pl?N=100007611 600521523 600006072 600561671&Order=PRICE Thank you for the information! Some kind of export/save a copy feature definitely does sound like a good alternative. I've struggled before with synchronous code and it's especially annoying to handle a bunch of threads with little interaction. (That's one reason why I've switched to node.js for a lot of my web design and scripting because of Promises). I'm not sure how or if you've even decided on how this would work, but at least for my case I tend to keep my pdn and png files the same name so being able to quickly save a pdn file to a png through the use of a keybind would be an awesome improvement to my workflow. 3 hours ago, Ego Eram Reputo said: Alternative keyboard combo without the need to flatten; Ctrl + Shift + C (copy merged i.e. all visible layers) Ctrl + Alt + V (paste into a new image) Ctrl + S (save) This is actually a really good tip and it'll definitely help out! I hadn't thought much of the paste to new image action when I saw it but now that you point this out it definitely does seem like it can be useful. Thank you for sharing this. Edited November 29, 2019 by Hexcede Quote Link to comment Share on other sites More sharing options...
Ego Eram Reputo Posted November 30, 2019 Share Posted November 30, 2019 Another neat feature of Ctrl + Shift + C is that it uses the entire canvas if no selection is active. Hence no need to pre-empt the combo with Ctrl + A (select all) Quote ebook: Mastering Paint.NET | resources: Plugin Index | Stereogram Tut | proud supporter of Codelab plugins: EER's Plugin Pack | Planetoid | StickMan | WhichSymbol+ | Dr Scott's Markup Renderer | CSV Filetype | dwarf horde plugins: Plugin Browser | ShapeMaker Link to comment Share on other sites More sharing options...
Rick Brewster Posted January 15, 2020 Share Posted January 15, 2020 On 11/28/2019 at 10:17 AM, Rick Brewster said: FWIW I've been looking into how to make general history operations a lot faster (which will make your save workflow faster). Right now it's bottlenecked by being synchronous ("not in the background"), by the CPU speed of NTFS compression, and then lastly by disk speed (almost all SSDs aren't bottlenecked at all here though). I can make it a lot faster, but it either takes a lot more disk space and disk activity, or a lot more memory. Right now I'm minimizing memory, minimizing disk space use and disk activity, but maximizing human waiting time and CPU time. It's no longer the right compromise. FYI: the upcoming 4.2.9 update should improve this quite a bit. I've switched to using LZ4 compression for history files, and I've multithreaded it and applied some other wizardry. Adding more cores will improve performance for just about every action that results in a history item. Which is pretty much every action, including flattening. And even if you don't add cores it will be a lot better. Quote The Paint.NET Blog: https://blog.getpaint.net/ Donations are always appreciated! https://www.getpaint.net/donate.html Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.