Hi Brad,

I'd recommend checking how memory you are consuming.  It might also be an
issue of the number of open file handles, I don't recally if the archives
leaves files open or not, but its worth checking.

Robert.

On 5/10/07, Bradford, Chase <[EMAIL PROTECTED]> wrote:


Thanks a lot Robert.

I understand why caching is necessary, it just seemed redundant to make
both the plugin and the Registry responsible for adding archives to the
cache.

The archive count is a condition passed down from a higher processing
step, which we don't really have much control over.  As a result, we just
need to make it work.

My first guess for the access violation is that windows is imposing a
limit on the amount of global space an application can use.  That's a long
shot guess though.  I'd assume that even though the map's handle is on the
global stack, its members would still be on the heap.

Chase

-----Original Message-----
From: [EMAIL PROTECTED] on behalf of Robert Osfield
Sent: Thu 5/10/2007 1:15 AM
To: osg users
Subject: Re: [osg-users] OSGA Plugin ignores CACHE_NONE option

Hi Brad,

I have reviewed the code and added a options check into the .osga plugin.
Could you do a svn update and see how you get on.

W.r.t an archive adding itself to the cache, this is done so that future
read calls can reference the cache without having to re-load it.  The
archive should be reasonably lightweight - its basically just a file index
that you load, the actual models themselves are loaded on demand.  Loading
a
compiling the index does take a little bit of time, so you don't want to
keep loading the archive just to access one file from it.

I'm suprised by two things, one that you have more than 508 archives in
the
first place, the idea of archives is that pack lots of files into a single
archive so have small working set of archives at any one time, second that
loading this many archives blows memory, it'd be interesting tracking down
how much each loaded archive is taking, perhaps its being a bit
inefficient
somewhere along the line.

Robert.

On 5/9/07, Bradford, Chase <[EMAIL PROTECTED]> wrote:
>
>  Hey Everyone,
>
>
>
> I've been working with some data that uses many osga files that hold
> PagedLODs, and I've found that if we ever exceed 508 osga files,
subsequent
> calls to openArchive or readNodeFile fails.  After some debugging, I've
> zeroed in on some issue where too many entries in the
> osgDB::Registry::archiveCache is causing Windows to generate a memory
access
> error.  I started setting the osgDB::Registry::Options objectCacheHint
to
> CACHE_NONE, but the archive cache kept getting populated.  It turns out
that
> the osga plugin's readImage and readNode call addToArchiveCache directly
> regardless of the options used.  When I comment out those line in the
plugin
> code and use CACHE_NONE I can load all of my data with no issue.
>
>
>
> It seems like when caching is enabled, that call is redundant.  Should
the
> OSGA plugin really add itself to the cache?
>
>
>
> Thanks,
>
> Chase
>
> _______________________________________________
> osg-users mailing list
> [email protected]
> http://openscenegraph.net/mailman/listinfo/osg-users
> http://www.openscenegraph.org/
>


_______________________________________________
osg-users mailing list
[email protected]
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/


_______________________________________________
osg-users mailing list
[email protected]
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/

Reply via email to