This is the fourth in a multipart series I think might help Second Life users, indeed all metaverse citizens, better understand some of the inner workings and underpinnings of their viewers, the connection to the servers and the servers themselves. In this part, the care and feeding of the viewer cache, including how often it should be cleared.
First let’s talk about what the cache is and what it does for us. Simply put, the cache is a non-temporary storage area where downloaded items are stored for quicker access. Online services like AOL and its predecessor would deliver the more common images with the program disk so you didn’t have to grow old waiting for them to download on your 300-bps dial-up modem.
This concept has continued to this day and is especially beneficial to those who pay for their Internet service based on the amount of data they transfer. But it benefits everyone, in fact.
Here’s a very basic description of the process of displaying a downloaded image. When your program wants to display an image, say a texture on a prim, it first goes to the cache on your hard drive to see if the file is there. If the image is there, it’s loaded and displayed. This process is almost instant.
If the image is not there it has to go be downloaded. A request is made, the online service processes it and sends the image back. It’s slower and subject to delays in the network itself. This process is almost never instant.
How big should the cache be? There are several opinions on this, one of course is that it should be set as large as the viewer can allow. But there is an argument that if the cache is too large then fetching cached items can take almost as long or longer than if they were downloaded. This is a myth, your cache can have 100, or 100,000 files in it, and fetching any one is still a few orders of magnitude faster than downloading.
When should you clear your cache? Never, ideally. If there isn’t anything wrong with a cached file then there’s no reason to clear it. In Second Life’s early days most of the problems users had were related to the cache, so the “clear cache and relog” mantra spread like wildfire. But today the cache is almost never related to viewer issues, and so the new mantra is “don’t clear your cache”
Clearing cache should only be done when the problem is related to the cache. If you have textures that are corrupted – rainbows usually – then you could clear the texture cache. If you have inventory problems, like your inventory doesn’t fully load, you could clear the inventory cache.
Clearing cache does not help for these kinds of problems:
- teleport failure
- asset upload issues
- movement or communication problems
- most kinds of lag
- most kinds of crashes
- a vast majority of bake fails
Having a cache can speed up your online experience, quickly painting textures that you’ve already downloaded once, cutting down on the amount of data you have to download. Making the cache as large as possible helps to ensure that you have room for all the textures you may see. And clearing it when there isn’t something wrong with the cache itself does nothing except cause you to re-fetch all the textures and your entire inventory.
In the next part of this series I’ll talk about draw distance and how it helps. And hurts.