[sldev] Multithreading, Garbage collection, Caching

Dale Glass dale at daleglass.net
Sun Mar 18 07:57:06 PDT 2007


В сообщении от 18 марта 2007 14:59 Laurent Laborde написал(a):
> As far as i know, the JPEG2000 decoding cost a lot of cpu time in
> SL. What about multithreading this ?
It already is.

Image decoding seems to be in a separate thread. But that's not as 
much of a benefit as you'd think, as the client is not constantly 
decoding stuff, only while loading new data. 


> Secondlife have to be multithreaded anyway. Newer CPU won't run
> faster (we're stuck between 2Ghz-3Ghz since a long time ago now).
It already is

> SL need faster cpu : cpu won't be faster
> CPU are now dual, quad, maybe octocore : SL have to be
> multithreaded to run faster.
SL runs multiple threads, also try enabling Client/Rendering/Run 
multiple threads.


> I'm going to buy a QuadCore + 4GB RAM + 8800GTX 768MB VRAM.
> I'd like to have some kind of "advanced" option saying :
> - Fell Free to use the 3 other core to decode jpeg2000, audio, QT
> coded, cache managment.
> - Load all the cache into RAM
> - Cache the whole sim's textures into the VRAM if you think it may
> help.
Quad core won't be very useful for SL. 95% of the time SL uses a 
single core. Offloading jpeg2000 will only give you an improvement 
while textures are being fetched. Audio impact should be negligible, 
as well as cache management.

SL seems to be very heavily CPU bound. I would recommend getting the 
fastest core you can (meaning, don't sacrifice a single core's speed 
in exchange for getting more of them), fastest RAM and decent video 
card for best performance.

Dual core will be an improvement, but I don't think quad will give you 
a lot more.

Here's how it behaves with dual core:

While nothing is going on, it uses one core at 100%, very ocassionally 
using 1-2% of another.

When somebody teleports nearby and their textures are loaded, CPU 
usage bumps to 100% on both cores for a few seconds. After textures 
are loaded it's back to mostly one core again.

> Loading the cache in a ramdisk may sound stupid. What if the client
> crash ? You lose your cache ! Well... usually, when you crash the
> client, your cache is fuxored... so .... why not ?
That may be an improvement actually. You can always back it up on the 
hard disk, but if you have enough RAM all of it will end up getting 
cached anyway.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.secondlife.com/pipermail/sldev/attachments/20070318/a94c5637/attachment.pgp


More information about the SLDev mailing list