Hi, the last three days, I cleaned up / rewrote large parts of the sequencer code, to accomplish the following things:
* make cfra a float internally to enable sub-frame precision rendering with speed effects and make the code a lot clearer * remove the whole TStripelem mumbo jumbo (is necessary, since cfra is a float now, right?) * replacing it with a hashtable based caching system * thereby dropping memory usage of the sequencer to a fraction of it's current usage (80 MB without using any caches to approximately 5 MB on a 3 hour timeline) * thereby making the cache limitor drop the full imbufs (no more clicking on refresh from time to time anymore) * thereby make cutting a lot snappier, since freeing up the imbufs is just about dropping the contents of the current hashtable and not traversing really large arrays of null pointers... * prepare the code for multi-core usage (threaded rendering is disabled right now, but the old code was limited to two cores anyways, because of this TStripElem hell) * and: make the code so easy to understand, that your grandma will get hold of it (hopefully) I did some test editing, nothing crashes, no memory leaks, everything seems happy, but: can I commit or should I wait some days to let Blender 2.53 settle? Patch is here for reference: http://peter.schlaile.de/blender/seq_cache_rewrite.diff Only thing missing is frame blending in Movie and Image strips on speed effect input (which is still largely broken, so most people won't really notice...) This will come back shortly as an option for Movie and Image strips. (Which will be able to adapt to different frame rates directly for free on the way, since, cfra is now a float :) ...) Cheers, Peter ---- Peter Schlaile _______________________________________________ Bf-committers mailing list [email protected] http://lists.blender.org/mailman/listinfo/bf-committers
