AssImp seems to have a bit of a performance problem. Well, OK, either that or my use of it is causing the problem.
I'm creating an AssImp::Importer instance in a function of my class, reading in the scene and transforming it into my own structures. When the function exits, the AssImp::Importer gets destroyed. Although reading the file and processing it takes 1-2 seconds, I've noticed that unwinding the stack (destroying the importer) takes between 4 and 5. This is in release builds as well as debug builds.
Can anyone give me some advice on how to minimise the cost of destruction? I can't really see there's anything I can do here.
The main cost in the destructor is the delete for each array aiFace::mIndices. We already had an experimental bulk allocator in place that allocated linearly and never released the memory until the Importer instance was destroyed. This cut about 20% time on reading the scene and nearly all time on destroying the scene.
I think you might be able to re-enable this hack somewhere in the source, but I'm not sure what its current state is.
Log in to post a comment.
Sign up for the SourceForge newsletter:
You seem to have CSS turned off.
Please don't fill out this field.