Non-Multi-Threading?

For all your technical questions and concerns.

Non-Multi-Threading?

Postby mekineer » Tue Apr 07, 2015 3:33 am

In Windows XP, I have to wait for ZipMagic to finish unpacking a large zip, before I can further use Windows Explorer. Is ZipMagic or Windows Explorer not multi-threaded? I would rather Zipmagic unpack a compressed file in the background (500MB to 1GB files), while I continue to do other things.
mekineer
 
Posts: 6
Joined: Mon Apr 06, 2015 9:26 pm

Re: Non-Multi-Threading?

Postby admin » Tue Apr 07, 2015 1:02 pm

ZIPmagic is even more than multi-threaded. In fact, all extraction happens inside externally launched processes, not even a separate thread - so it is virtually impossible for Explorer to block during the extraction.

Perhaps if your hard disk is slow or fragmented, this might explain if you experience speed problems during extraction. Try to pause the extraction, and then see if Explorer and other programs are responding normally.
ZIPmagic
The Next Generation Data Compression Platform
User avatar
admin
Site Admin
 
Posts: 230
Joined: Sat Feb 22, 2014 12:35 pm

Re: Non-Multi-Threading?

Postby mekineer » Fri Apr 10, 2015 12:58 pm

It is not a matter of fragmentation, or slow system speed. I can continue to work with any other application, smoothly, except explorer, that remains locked up until the decompression completes. If you would like, I can give you a remote session via teamviewer, so you can work on resolving the issue. PM me, or email marcos at nerdondemand d0t com
mekineer
 
Posts: 6
Joined: Mon Apr 06, 2015 9:26 pm

Re: Non-Multi-Threading?

Postby admin » Fri Apr 10, 2015 1:11 pm

Yes, that sounds like a good idea. Contacting you now.
ZIPmagic
The Next Generation Data Compression Platform
User avatar
admin
Site Admin
 
Posts: 230
Joined: Sat Feb 22, 2014 12:35 pm

Re: Non-Multi-Threading?

Postby admin » Fri Apr 10, 2015 1:25 pm

Thanks for the quick connection!

Yes, with drag&drop, Explorer is simply designed to block until the data has arrived - making it quite an inefficient process.

You can try copy&paste, which works better in most instances.

Personally if I am extracting a large amount of data, I always use the right-click Extract menu (without even bothering to go inside the shell namespace extension), because as you saw, it is the fastest and most non-blocking approach of all.

Hope that helps!
ZIPmagic
The Next Generation Data Compression Platform
User avatar
admin
Site Admin
 
Posts: 230
Joined: Sat Feb 22, 2014 12:35 pm

Re: Non-Multi-Threading?

Postby mekineer » Fri Apr 10, 2015 1:28 pm

Ok, thanks for the guidance. I hope you figure out a way to get around the windows explorer limitations.
mekineer
 
Posts: 6
Joined: Mon Apr 06, 2015 9:26 pm

Re: Non-Multi-Threading?

Postby admin » Fri Apr 10, 2015 1:36 pm

I just tested with the latest Explorer version from Windows 8.1, and the same limitations apply when working with large files on copy&paste and drag&drop.

Unfortunately without having access to Microsoft Explorer source code, there isn't much that can be done when they implement a certain interface as blocking.

Maybe they would have improved this in Windows 10? I wouldn't hold my breath, but I suppose we'll find out soon.
ZIPmagic
The Next Generation Data Compression Platform
User avatar
admin
Site Admin
 
Posts: 230
Joined: Sat Feb 22, 2014 12:35 pm

Re: Non-Multi-Threading?

Postby mekineer » Fri Apr 10, 2015 1:40 pm

I am not a software dev, but maybe an api hook, that would catch the drag&drop or copy-paste request, and take over instead of explorer?
http://en.wikipedia.org/wiki/Hooking
https://msdn.microsoft.com/en-us/librar ... 85%29.aspx

I remember in Zipmagic98, all these things were possible!
http://articles.chicagotribune.com/1997 ... ompression
"While these .zip folders dramatically reduce the amount of disk space consumed by treated files, the special folders behave exactly like all other Windows 95 folders."
mekineer
 
Posts: 6
Joined: Mon Apr 06, 2015 9:26 pm

Re: Non-Multi-Threading?

Postby admin » Fri Apr 10, 2015 2:17 pm

Zipmagic 98 was a file system driver for Windows 9X (MS-DOS based), which did not succeed in porting its implementation over to Windows XP (Windows NT based) or newer.

Because it was a file system driver, you could even browse inside archives from an MS-DOS command line window. Naturally, events like drag&drop and copy&paste would be non-blocking too, because as far as the entire operating system was concerned, you were navigating inside a real file system folder. This is how Zipmagic98 completely side-stepped the issue of blocking Windows File Explorer interfaces, but you can see that they did not survive the transition to the Windows NT world.

During ZIPmagic's own development (this current version, not the unrelated and now defunct Mijenix version), various approaches were tried, including copying "fake files" during drag&drop and copy&paste operations; to get around the blocking issue. A system monitor simply was on alert at all times to see where this "fake file" would appear, in order to be able to determine the target of the drag&drop or copy&paste operation. It would then directly, and in a non-blocking manner, extract the actual files to the desired destination. However this approach itself had its own array of problems.

Specifically, users were confused by this new file (typically a GUID), which would appear and disappear without explanation. The actual extraction going on in the background, they would not have a definite way of knowing when it would be finished (other than watching the Window), which contradicts standard Explorer behavior. And issues with tracking the GUID as well.
ZIPmagic
The Next Generation Data Compression Platform
User avatar
admin
Site Admin
 
Posts: 230
Joined: Sat Feb 22, 2014 12:35 pm

Re: Non-Multi-Threading?

Postby mekineer » Fri Apr 10, 2015 2:35 pm

Assuming I grasp what you are saying, I have an example that may help with user confusion, waiting for the file to show up. For downloads, Firefox creates two files named file.part and file.ext, and once the download completes into file.part, it overwrites file.ext with file.part. You can also use the progress indicator you already have in the current Zipmagic.

ps. Yes, I'm aware MS made their OS less extensible to third party shell extensions
mekineer
 
Posts: 6
Joined: Mon Apr 06, 2015 9:26 pm

Next

Return to Support

Who is online

Users browsing this forum: Google [Bot] and 0 guests

cron