On 04/21/2009 09:42 AM, Joshua Bell wrote: > Here's another crazy idea that intrepid coders could play with - a two > level cache, with per-region bucketing and reference counting. Assume > the resident visits a limited number of regions very frequently, and > assume that region contents change infrequently on the whole. Implement > a cache bucket per region. Have items age out of the cache within > buckets as infrequently as possible (and reference counted, so assets > used in two regions are only purged if it ages out of both). Limit the > number of region cache buckets - and possibly make that user-selectable > (advanced option) - and weight those by time-spent-in-region. >
That looks like a variation of 2Q caching: https://wiki.secondlife.com/wiki/Texture_cache#Analysis I'm going to guess this would be a fine improvement. I'd be hesitant to implement a more complicated algorithm than 2Q just given the fact that this area gets so much research, and complicated algorithms rarely perform as well as you might think they would. I suppose that in the case of the viewer, texture cache accounting overhead is pretty trivial (as compared to say, a database with thousands of transactions per second), so there's more wiggle room to get fancier, but I'll bet the cost of development + QA + ongoing maintenance of a clever solution can't be justified by the improvement. Rob _______________________________________________ Policies and (un)subscribe information available here: http://wiki.secondlife.com/wiki/SLDev Please read the policies before posting to keep unmoderated posting privileges
