XnView vs. ACDSee: Slow..? (High CPU & Memory)

Ask for help and post your question on how to use XnView Classic.

Moderators: helmut, XnTriq, xnview

User avatar
viking
Posts: 85
Joined: Wed Feb 18, 2009 3:44 am

XnView vs. ACDSee: Slow..? (High CPU & Memory)

Post by viking »

I was looking for a replacement for an old version of ACDSee (v3.1) and found XnView. Seems to be a great replacement!

However, I have a major concern:
When I browse images in XnView, even in preview mode, it takes 1-2 sec for an image to load. In ACDSee it is virtually instant.

Note that when I load a new image the CPU resources and Memory (Private bytes) transiently increases for 1-2 sec (as measured by Process Explorer and using same directory and images in both cases; ~ 0.5- 1MB image size):
ACDSee:
CPU: 0 => 6%
Private Bytes: 17.6 MB => 17.6 MB (no increase)

XnView
CPU: 0 => 48% !!
Private Bytes: 34.4 MB => 60 MB

Why is XnView so much slower than ACDSee? Are there some settings that can be changed (I am currently using default options), possibly at the expense of image quality..?
obelisk
Posts: 479
Joined: Fri Jan 09, 2009 9:54 am

Post by obelisk »

I don't find this
xnview takes 7% to load an image for 0.5s
User avatar
xnview
Author of XnView
Posts: 46256
Joined: Mon Oct 13, 2003 7:31 am
Location: France
Contact:

Re: XnView vs. ACDSee: Slow..? (High CPU & Memory)

Post by xnview »

viking wrote: ACDSee:
CPU: 0 => 6%
Private Bytes: 17.6 MB => 17.6 MB (no increase)

XnView
CPU: 0 => 48% !!
Private Bytes: 34.4 MB => 60 MB
Which size (pixels) has your picture?
Pierre.
User avatar
viking
Posts: 85
Joined: Wed Feb 18, 2009 3:44 am

Re: XnView vs. ACDSee: Slow..? (High CPU & Memory)

Post by viking »

obelisk wrote:I don't find this
xnview takes 7% to load an image for 0.5s
0.5 sec is still pretty slow when browsing thousands of images. ACDSee is almost instant.
xnview wrote: Which size (pixels) has your picture?
Size is 1333x2000
(although similar results also obtained with smaller images, e.g. 920x1379)
User avatar
xnview
Author of XnView
Posts: 46256
Joined: Mon Oct 13, 2003 7:31 am
Location: France
Contact:

Re: XnView vs. ACDSee: Slow..? (High CPU & Memory)

Post by xnview »

viking wrote:
xnview wrote: Which size (pixels) has your picture?
Size is 1333x2000
(although similar results also obtained with smaller images, e.g. 920x1379)
So 8Mb is needed. If you close the browser and load this file, 60Mb is used?
Pierre.
User avatar
viking
Posts: 85
Joined: Wed Feb 18, 2009 3:44 am

Re: XnView vs. ACDSee: Slow..? (High CPU & Memory)

Post by viking »

xnview wrote: So 8Mb is needed. If you close the browser and load this file, 60Mb is used?
Not sure that I follow..?

Here is what I tried:
1. Open XnView Browser (no image in preview) => 25.1 MB
2. Preview the image => Transient memory increase to ~53 MB, then down to 33.5 MB
3. Hit enter for full view => 54 MB
4. Close browser (image still loaded) => 31.4 MB
User avatar
xnview
Author of XnView
Posts: 46256
Joined: Mon Oct 13, 2003 7:31 am
Location: France
Contact:

Re: XnView vs. ACDSee: Slow..? (High CPU & Memory)

Post by xnview »

viking wrote: 1. Open XnView Browser (no image in preview) => 25.1 MB
2. Preview the image => Transient memory increase to ~53 MB, then down to 33.5 MB
33MB seems to be good. Do you have ICC profile?
3. Hit enter for full view => 54 MB
Read ahead/Cache behind is activated?
Pierre.
User avatar
viking
Posts: 85
Joined: Wed Feb 18, 2009 3:44 am

Re: XnView vs. ACDSee: Slow..? (High CPU & Memory)

Post by viking »

xnview wrote: 33MB seems to be good. Do you have ICC profile?
Read ahead/Cache behind is activated?
Color Profile: HP _W2207

Read Ahead Cache is enabled.

However, it makes very little difference! I took out my stop watch and measured an estimated time to load the image in browse mode: 6 sec (although it was 3.3 sec yesterday for some reason)!

It does not matter if I go to the next image (read ahead active) or randomly go to another image in the list.

ACDSee takes less than 0.4 sec to load the same images (random image). Note also that ACDSee uses a progressive display (image loading from top to bottom, giving the sense of instantaneous loading).

Do you have a copy of the old 3.10 version of ACDSee? It can be downloaded here:
http://www.oldversion.com/download_ACDSee_3.10.html

p.s. Thanks for your prompt response to this post and your interest in trying to resolve the issue!!
User avatar
xnview
Author of XnView
Posts: 46256
Joined: Mon Oct 13, 2003 7:31 am
Location: France
Contact:

Re: XnView vs. ACDSee: Slow..? (High CPU & Memory)

Post by xnview »

viking wrote:
xnview wrote: 33MB seems to be good. Do you have ICC profile?
Read ahead/Cache behind is activated?
Color Profile: HP _W2207
Read Ahead Cache is enabled.

However, it makes very little difference! I took out my stop watch and measured an estimated time to load the image in browse mode: 6 sec (although it was 3.3 sec yesterday for some reason)!
If you disable ICC, do you have the same loading time?
If you disable 'cache', you should have less memory used...
Pierre.
sacharja
Posts: 42
Joined: Sat Nov 01, 2008 5:39 pm

Post by sacharja »

Note also that ACDSee uses a progressive display (image loading from top to bottom, giving the sense of instantaneous loading).
That's the same as what I wrote in this thread: http://newsgroup.xnview.com/viewtopic.php?p=71907#71907

This speed improvement would be really great.
User avatar
viking
Posts: 85
Joined: Wed Feb 18, 2009 3:44 am

Post by viking »

It turns out that the large performance difference between ACDSEe and XnView is not so much due to differences in rendering but due to differences in file handling!

If I place a few image files in a single directory, both ACDSee and XnView open the files within fractions of a second.

However, I if put the same image files together with other image files in a single large directory, XnView becomes really slow when browsing the files. It takes more than 10 sec to open a single image (e.g. 1333x2000) in a directory with 13,714 files.
In a directory with 26,529 files, it takes more than 47 sec to open the same image! As reported before, XnView uses ~50% of CPU resources during file opening.

In contrast, the images open instantly with ACDSee regardless of the directory size.

To first open the directory for browsing, there is a significant delay with both programs. For example, the 13.714 file directory opens in 18 sec with ACDSee, while XnView needs 36 sec or more.
During the directory opening, the CPU is constantly at ~50% with XnView, while there are only a few spikes at 2-20% with ACDSee (Note that I have disabled scanning of the file headers in both programs).

Furthermore, when I switch to another directory and then back to the 13,714 file directory, ACDSee only needs 3 sec to list the files again (internal file caching) while XnView needed 45 sec (not sure why it is slower than with the first listing).

Thus, it appears that the way the files in the directory are read/cashed differs significantly between ACDSee and XnView and this is causing the large performance difference between the two.

Is this something that you can look into and possibly fix?



p.s. Please note that the tests above were done using NTFS which is much slower than FAT32 when operating with a very large number of files in a single directory.
User avatar
xnview
Author of XnView
Posts: 46256
Joined: Mon Oct 13, 2003 7:31 am
Location: France
Contact:

Post by xnview »

viking wrote: However, I if put the same image files together with other image files in a single large directory, XnView becomes really slow when browsing the files. It takes more than 10 sec to open a single image (e.g. 1333x2000) in a directory with 13,714 files.
In a directory with 26,529 files, it takes more than 47 sec to open the same image! As reported before, XnView uses ~50% of CPU resources during file opening.
Which sort setting do you have?
The delay is on first image loading, or on second?
Pierre.
User avatar
viking
Posts: 85
Joined: Wed Feb 18, 2009 3:44 am

Post by viking »

xnview wrote: Which sort setting do you have?
The delay is on first image loading, or on second?
Sort setting does not affect anything (e.g. sort by Name or sort by size).
Delay and high CPU is on every single image that I try to load.

To reproduce, place 10-20,000 images in a single directory on an NTFS partition. Then try to browse with XnView.
Impossibly slow and ridiculously high CPU utilization :( .

Then try to browse with ACDSee. No problem.
pic_viewer
Posts: 251
Joined: Sat Nov 17, 2007 7:53 am
Location: Germany

Post by pic_viewer »

Hi,

I will try to reproduce this one. But before I would like to clarify one thing: when going into that directory in browser mode you have to wait forever for XnView to read in all the files into its database (did you disable the thumbnail cache, uncheck Enable Caching?). It will also take forever to just build all the thumbnails, no matter if cached or not. That might already cause just the effect that you see. Means maybe you have to wait until XnView has read all the files (see indication bar in the right lower corner).

Once read in it still is unclear how long XnView needs to read its own database (thumbnail cache) with such a huge amount of files. Aagain maybe you just have to wait a few minutes and from then on XnView will work as expected. That would give a hint on where to look.

OR it will always be like that because XnView is not prepared to handle so many files (thumbnails/cache) within one directory and runs into memory problems.

Interesting...
User avatar
viking
Posts: 85
Joined: Wed Feb 18, 2009 3:44 am

Post by viking »

pic_viewer wrote:Hi,
I will try to reproduce this one. But before I would like to clarify one thing: when going into that directory in browser mode you have to wait forever for XnView to read in all the files into its database (did you disable the thumbnail cache, uncheck Enable Caching?). It will also take forever to just build all the thumbnails, no matter if cached or not. That might already cause just the effect that you see. Means maybe you have to wait until XnView has read all the files (see indication bar in the right lower corner).
Hi,
The files are shown in the detailed listing mode, so I do not believe that any thumbnails are generated (there is also no progress bar)??
Anyway, I disabled "Enable Caching", but as expected, it made no difference (since no Thumbnails were generated).

Finally, please note that the main issue occurs after the directory listing is completed. Simply click on a different file in the list. It takes 10-47 sec to open any one image in the list.
Post Reply