Page 1 of 1

Manually forcing image preload

PostPosted: Mon May 18, 2009 12:35 am
by eatbuckshot
Hello, I've read that FPV automatically preloads images if there's enough memory, but It doesn't seem to preload that many despite having 500 mb or more free memroy. I'd be nice if I could manually specify how many images it preloads, or preload until a specified memory max.

Re: manually forcing image preload

PostPosted: Mon May 18, 2009 1:58 am
by Axel
See Menu->Options->Resource Usage, but be warned that FPV has the potential to bring any system to its knees, if told to preload too many (large) images at a time. It will use all processor cores and all I/O bandwidth, and whichever comes short first will clamp the maximum "frame rate" performance.

For example on a 8-core system, with parallel loading enabled in FPV's options, there is no way a single SATA drive will ever be able to sustain reading 8 raw files concurrently fast enough to keep up with a quick roll of the mouse wheel, and as a result the machine might end up crawling helplessly... unless the images are relatively small, or you have an ultrafast disk subsystem (like a few SAS drives in RAID0 or RAID10 configuration).

Also, if GPU acceleration is enabled, the program consider the amount of available video memory to decide how many images to load, so the amount of free main RAM in the system does not have a direct impact.

Re: manually forcing image preload

PostPosted: Sun May 24, 2009 3:04 am
by eatbuckshot
Oh that's interesting, and thank you for replying so fast and so comprehensively. I've already set it to "more" and enabled parallel image loading. But I guess this could be due to my graphics card then, only having 128mb actual dedicated, on the thinkpad t61p 4:3, (though I've always wondered if it can actually use the claimed 512mb, I guess taken from ram) I can use process explorer to view the current RAM in use but I can't know for sure how mugh gpu memory is... It'd be a nice feature if there's some kind of small quick list that shows all the images in the subdir and which ones are preloaded. Also it'd be nice to have an indicator for how much gpu memory is being used. Though, if I got an intel ssd, would I have to depend less on preloading?

Wait I don't actually have gpu rendering enabled..
interestingly enough, it doesn't seem to be caching when gpu rendering is enabled
disabling it, it caches to 700mb usage, I have 2 gb of ram with paging file off, with 439mb left
this looks to be about ~20 images average jpeg size for those images is ~900kb (outliers of 3000kb)

Re: manually forcing image preload

PostPosted: Sun May 24, 2009 3:09 am
by eatbuckshot
oh and one more thing, I really like what has been done with fast picture viewer, I have always longed for something simple like xp's default image viewer, but much faster without any breaks that could allow browsing of say multiple pages of scanned documents. It has been well thought out and made well, with key features but not cluttered, simple very elegant interface.

Re: manually forcing image preload

PostPosted: Tue May 26, 2009 8:10 pm
by Axel
Multi-page support can be enabled in the pro version. This support currently works with TIFF, DjVu and GIF formats. It let you scroll through pages (or GIF frames), just as if they were consecutive images and pre-loading works there too.

About the memory usage, let's just say that the slider is a hint telling the program that it should preload somewhat less or somewhat more that what the algorithm would normally decide. The middle position is usually a reasonable compromise but the actual number of preloaded images and those kept in memory varies as you view them, it can shrink or grow dynamically depending on a number of factors. The general strategy is to use as much memory as possible but not too much and setting the slider to the far right might cause trashing if the images are large.

Clearly there is not so much room on a 128MB card, in your case it's perhaps better to revert to classic drawing and main memory preloading/caching.