• All submissions to this site are governed by Second Life Project Contribution Agreement. By submitting patches and other information using this site, you acknowledge that you have read, understood, and agreed to those terms.
Issue Details (XML | Word | Printable)

Key: VWR-435
Type: New Feature New Feature
Status: Open Open
Priority: Low Low
Assignee: Unassigned
Reporter: Haravikk Mistral
Votes: 10
Watchers: 2
Operations

If you were logged in you would be able to see more operations.
1. Second Life Viewer - VWR

Multiple caches

Created: 13/Apr/07 05:06 AM   Updated: 30/Sep/09 01:31 PM
Return to search
Component/s: Performance
Affects Version/s: 1.22, 1.23
Fix Version/s: None

Issue Links:
Relates


 Description  « Hide
As commented in VWR-281, it seems that caches suffer from performance problems above the 1gb or so size. Obviously this is something which would be nice to have improved, however there is a simple and easily implemented solution which can give better caching sooner rather than later:

Multiple caches!

The concept is simple; every simulator you visit gets it's own cache folder! In this it has the current VFS system storing whatever the VFS currently stores, plus a textures folder and so-on. Each of these has a limit as set in the cache preference, this would stay with the current 1gb limit for performance reasons.
However, in addition, users would choose how many simulators/regions to cache, say 10. If you have 10 cached and want to visit a new one, then the oldest simulator cache is thrown away to make space. In total your cache size would have a maximum of 10gb.

This incredibly simple alteration allows us to cache multiple locations that we may visit frequently, without losing perfromance. Since each cache has it's memory limit chosen by performance criteria to the current 1gb limit, there will be almost no extra overhead for this system. All we do is load the appropriate cache for the current simulator, and ignore all others. When we move to a new simulator, we close the current cache and open the cache for the new simulator, creating a new one (and deleting an older one) as required.

Instantly we have caches which exceed the current limit, without reducing performance. And now the simulators you visit most often will remain cached for longer. All that is really required is a small amount of extra checking to determine when a new cache is required, or when to switch the currently active cache. All very small operations for the overall improvement.



 All   Comments   Change History      Sort Order: Ascending order - Click to sort in descending order
Dzonatas Sol added a comment - 02/May/07 10:38 AM
Since caps have been implemented, it is now possible to use Squid as a intermediate cache. Squid is available for unixes and Windows.

Haravikk Mistral added a comment - 21/Jun/07 05:44 AM
Additional points; multiple caches could be used to map different areas of the same sim. For example, if I'm in the North East quarter of the sim, then it will look for things in the cache for the North East quarter etc. And the most important one; avatar cache! I want my avatar permanently cached, along with all my HUD items! It's annoying when I click to view some options on my HUD and have to reload all the buttons, then click to go back and have to reload all the PREVIOUS buttons as well!

TAJ Constantine added a comment - 03/Sep/08 09:31 AM
I'll add that the improvements on limited network connections (hotel rooms, cafe hotspots, an office with a miserable T1) by having more cache options is a very good request. If I could assign 1GB per region, my bandwidth requirements for frequently visited regions would drop drastically.

Haravikk Mistral added a comment - 03/Sep/08 10:08 AM
I've recently set myself up with two scripts to launch copies of Second Life on OS X, allowing me to easily sign-in my main account and my alt. In addition I've set-up the scripts to also define two different settings files, one for my main, one for my alt, allowing me to specify two different locations for their caches. The difference this makes is HUGE, as it means that my main account no-longer has to rez fresh because my alt went somewhere to fix a vendor or such. But 1gb is still horrendously limiting.

Argent Stonecutter added a comment - 30/Oct/08 09:23 AM
Alternatively, go to a squid style cache in the viewer itself.

Zauber Exonar added a comment - 22/Nov/08 09:32 PM
I'm averse to this solution somewhat, because I have my cache on a ramdisk to improve I/O performance, and only have 1g out of 2g of RAM allocated for use as a ramdisk.

Minevera Boucher added a comment - 18/Feb/09 08:33 AM
This is a great idea and all, but I'm sure the Lindens will be slow to implementing this idea along. Considering this it would be of low priority to them, but the majority of the community would greatly approve of this.

Russ Ametza added a comment - 26/Jun/09 04:45 PM
Its the underlying code that creates the cache performance hit. Therefore having multiple texture caches would suffer the same issue unless you divided each sim to have its own cache. In that case i would recommend VWR-10224 as the best solution to increasing performance with the cache.