Andrew Linden talked about caching in the 9/13 Simulator User Group. He has the job of writing code to track cache misses. I’ve never thought the viewer cache was doing much for me. I don’t see much difference in render speed for returning visits to places I’ve visited from places I’ve never been to.
The trick is figuring out which are planned or expected misses and which are cache failures. If you have been to a region you should have all the needed textures in your cache. Those textures should be found and avoid the need for a download. If the texture is in the cache and it downloads again, it can be considered a miss or failure.
Of course if you have never been to a region, one expects all the texture to have to download. So, misses are not a bad thing. The challenge is in knowing when the caching system is failing. It has broken in the past. So, the new code will be an alerting system.
The simulator has an Interest List. In the list are the things the viewer needs to render the scene for its avatar. As Andrew describes it; when an avatar arrives in a region things around them have specific positions, geometry, and textures needed to render them. The simulator figures out what objects are in the avatar’s view and assembles a list that it sends labeled with a version number. When things in the list change, a new list is sent with an updated version number.
Continue reading →