Can you include .3MF to the list of re-compressible formats? Its structure is similar to MS Office 2007 documents and Open Document Format. It is a ZIP Deflate archive with XML data and some JPG, and/or PNG pictures inside. Otherwise, if I try to compress .3MF it bearly makes it smaller unless I recompress .3MF to the Store setting then it makes it a lot smaller.
Wish they all would move to 7zip ZSTD in the first place so that the optimized file size with FileOptimizer would be 50% of the ZIP Deflate version. And there would be no extra compression needed :)
I noticed that the option to add the optimize archive function to the context menu is missing on Windows 10.
Opening each archive with the interface in order to click it becomes tedious with many files.
Same for others functions like Remove Archive Encryption
Solved Faster startup and close times in PA 2017
-
The fact that main Power Archiver 2017 executable is built with a high level language such as Delphi 10.1 (Berlin), makes it noticeable slower to start, and slower to close than other tools (less capable), such as WinRAR and 7-Zip.
It is noticeable even in my quad core Intel Skyline at 3,2 Ghz with 20 GB of RAM and an SSD drive. For instance:
CLOSING POWERARCHIVER
It takes one to two seconds once I click on the cross window button, until it is closed. User experience will be better, if main window is hidden just after the close button is clicked, and then, the required deinitialization takes place in background with the window hidden.STARTING POWERARCHIVE
Main executable is about 40 MB, compared with about 1 MB in 7-Zip and 2 MB in WinRAR, this makes it slowr to start, even if your efforts, so I guess there are some things that could be applied:-
Use Delphi dynamic linking against VCL. In this case, since Windows caches recently used DLL, subsequent PA restarts, will be faster than they are now.
-
Move initialization to take place, the later the better. Specially if this is when the main GUI is presented. Maybe delaying the load of some DLL and so on.
-
-
@spwolf Indeed much faster!
-
does PA 2017 take 1-2s to close or 2016? I can see no more delay in closing since version PA 2017. What AV are you using?
As to the start, it has been optimized in 2017 compared to 2016. Right now it is best we can do. x64 version is slower to start but actual compression and decompression benefits outweight 0.5s slower start.
thanks!
-
The slow close is in 2017. No AV running.
-
@nikkho can you please export your settings (Options> Save settings to…, or better regedit> HKCU>Software> PowerArchiverint) send them over to support at conexware dot com, to see if we can reproduce it here. Thank you!
-
Email sent!
-
-
By the way, maybe an option to consider to speedup startup times, would be the choice to keep PA loaded in the systray, and thus, requiring any operation will avoid loading it again, and simply show the window.
Nowadays, having allocated 45MB of RAM, reserved to PA, specially if you use to compress/decompress frequently, is a good choice.
-
@nikkho thats reasonable suggestion… lets see.
For some future versions, there was already discussion of adding ability to open several archives at once, as tabs (MDI interface). So you would skip that first load of PA together with reuse windows option.
How fast is the loading on your end?
A lot of work is always done on speeding things up since we add new features. x64 version of PA 2016 loaded almost 100% slower than 2017 (on my computer 2.25s vs 4.5s). x86 version of PA 2017 is fastest PA in past 10 years to start BUT, with x86 cant use all the memory we need for .pa format so we cant really use it unless it is on x86 system (loads 1.7s for me).
Anything under 2s seems fast subjectively.
I think problem might be when SSD disk is busy, and you try to load PA, it takes longer than usual, and thats where 40 MB size does not help. However it is usually very beneficial to have skins and images loaded in .exe when loading PA on idle computer. Hence the size. Skins we could even exclude (i believe 2 are loaded in exe, maybe 5MB size), but png images are very slow when it has to load few hundred from disk at runtime. Also, x64 version adds 10MB to the size.
But your suggestion is good, we will see how applicable is to PA and when we can test it internally.
Thanks!
-
On my side, first load of PA 17.00.69 x64 from the SSD drive is same as you, 2-3 seconds. Next loads, are about 1,5-2 seconds.
As comparison, 7-Zip takes about 0,5 seconds, and WinRAR 1 second on first load. I would say your points look good. Moving outside the EXE file everything which is not mandatory for PA, and loading them when needed at runtime, will improve things a lot.
Also for PNG files as well as other resources, you can use FileOptimizer, which I am the author, by the way: http://nikkhokkho.sourceforge.net/static.php?page=FileOptimizer
You should be able to reduce them about 20%-30%, not a big deal, but an improvement considering the effort to optimize them is almost zero.
-
You can also save some additional kilobytes by stripping EXE and DLL headers. FileOptimizer can do it for you, or maybe you want to directly automate it in your build process after linking by using Leanify and PETrim and GNU Strip.
-
@nikkho said in Faster startup and close times in PA 2017:
On my side, first load of PA 17.00.69 x64 from the SSD drive is same as you, 2-3 seconds. Next loads, are about 1,5-2 seconds.
As comparison, 7-Zip takes about 0,5 seconds, and WinRAR 1 second on first load. I would say your points look good. Moving outside the EXE file everything which is not mandatory for PA, and loading them when needed at runtime, will improve things a lot.
Also for PNG files as well as other resources, you can use FileOptimizer, which I am the author, by the way: http://nikkhokkho.sourceforge.net/static.php?page=FileOptimizer
You should be able to reduce them about 20%-30%, not a big deal, but an improvement considering the effort to optimize them is almost zero.
pngs are already tiny… problem is access time - there are hundreds and loading each takes time, so overall there is a massive difference when they are outside (PA will load in 6+ seconds).
Overall, for computer like yours, it will make no difference with all the tests we did so far (and we spent few months early in the release just optimizing). But maybe there will be a difference on computers where disk is always doing something and thus PA loads in 4-5s.
We will have to test it to make sure.
Overall, maybe for PA 2018 we move for different skinning/toolbar solution, we could possibly eek another 0.2s-0.3s by that, without losing any features.
But maybe solution with hiding it in bg/tray would be most interesting one. We have to spend some time checking it out. Thanks!
-
Another idea to reduce startup time, is to optimize embedded resources. For instance:
- MAINICON.ico is 292.878 bytes and when FileOptimized, it gets down to 33.961 bytes.
- DXDOCKINGVS2005TARGET.bmp is 23.906 bytes and when FileOptimized, it gets down to 3.260 bytes.
-
I came exactly to submit a wish for faster startup time! Glad I found this thread. I benchmarked the startup time using the PassMark AppTimer and the following settings:
Note I needed to open a small zip file, otherwise the window would get recognized immediately without even being visible. This will open/close PowerArchiver and log the startup times.
I got these results with PA2016:
C:\Program Files (x86)\PowerArchiver\POWERARC.EXE - 10 executions
5.5576
5.5796
5.6077
5.6391
5.4462
5.7956
5.7484
5.8043
6.0803
5.9100
I got these results with PA2017 (x64):
3.8749
3.6198
3.8846
3.9920
3.7549
3.7141
3.7790
3.7693
3.7528
3.9696A significant improvement with 2017!! Thanks. I think the idea of recycling the instance by putting it in the tray is a great idea.
-
@alexmiller what kind of cpu and OS do you have? I will somehow send you x86 to test on that setup too, it will be interesting to see :)
thanks!
-
@spwolf I’m lucky to have a beast system: Dual Xeon E5-1650 3.2Ghz. I’m running latest Win10 Pro build 15063.
As I read above, you are developing with Delphi? I don’t know what skinning technology you are using, but have you tried the DevExpress VCL controls and skinning technology? Perhaps it is more performant… I use their .NET controls suite and i’m very satisfied.
-
After lurking in the PA install folder, i’m pretty certain you already use DevExpress controls.
-
@alexmiller said in Faster startup and close times in PA 2017:
After lurking in the PA install folder, i’m pretty certain you already use DevExpress controls.
yes, it is all devex controls, and they are beautiful and a bit slow.
-
@nikkho wrote this in for PA 2018 :)
btw, hows closing speed of alpha?
-
@spwolf Closing speed is perfect. It happens instantaneously.
-
@nikkho thanks for letting me know.
-
@spwolf for the image loading, since streaming data off HDD can be slow compared to handling images in memory, would combining all the images into an image atlas (one large image) and mapping the pixel locations to things instead be faster on startup?
Similar to how minecraft stores it’s game textures in one large image file. Then you’re only loading 1 image file off the hard drive instead off hundreds. -
@aluminumhaste said in Faster startup and close times in PA 2017:
@spwolf for the image loading, since streaming data off HDD can be slow compared to handling images in memory, would combining all the images into an image atlas (one large image) and mapping the pixel locations to things instead be faster on startup?
Similar to how minecraft stores it’s game textures in one large image file. Then you’re only loading 1 image file off the hard drive instead off hundreds.so how come you dont have PA 2018 preview already? Should I send it over. Its fast. Faast!
-
@spwolf I used to try the Alpha a few years ago, don’t know why I stopped. Sure, glad to try it out.
-
Loading testing completed:
Powerarchiver 2017
1.38 sec
1.46 sec
1.35 secPowerarchiver 2018 - Alpha
0.53 sec
0.63 sec
0.60 secClosing has always been fast on my computer, 2018 is almost instant.
-
@aluminumhaste thats pretty fast for 2017 too… when memory gets more fragmented during days of use, 2018 will go to 0.8s while 2017 will do something like 2.3-2.5s. At least from my experience.
Then if disk is doing something else in the background, we could have 2018 doing 1.3-1.5s while 2017 does 3.5-4s on same computer and ssd.
thanks for testing, how does it feel?
-
Snappy, fast, quick.
-
I tried PA 2017 portable, on work computer takes about 5 seconds to open
-
@aluminumhaste said in Faster startup and close times in PA 2017:
I tried PA 2017 portable, on work computer takes about 5 seconds to open
should be less than 2s in PA 2018… i dont think Portable is any slower, it is just different computer and possibly memory fragmentation after long running.
-
This is a work computer so yeah, also was loading that off of a USB flashdrive.
-
Check latest PA 2018 build, and compare the speeds to 2017, 2016, etc.
New version: PowerArchiver 2018 18.00.23 - BETA 1
Download: http://dl.powerarchiver.com/2018/powarc180023.exethanks!
-
@spwolf Indeed much faster!