09-01-2007 20:10
From: Kathmandu Gilman
Dual CPUs are the future and more and more people are moving to them every day and it seems like every day there is a post complaining about their new high end machine running SL like it were a 1996 vintage doorstop computer. The cure is really simple, the client only needs to be set to a single CPU instead of using both. Why it isn't in the client code already is not for mere mortals to know but there is a cure we can use to get around the problem.

SL needs to be set to a single CPU. This is called setting affinity in geek speak. If you are not getting the framerate you expect from your dual core CPU, AMD or Intel, try setting affinity to a single CPU. To do this, open the Task Manager (control+alt+del) while SL is running. Go to Processes and find Secondlife.exe and right click it. Select Set Affinity and you should see a list of CPUs. CPU 0, CPU 1 etc. If you see four CPUs checked but know you only have two cores then you have hyperthreading on. You need to select a single core, doesn't matter which one, and leave the rest unchecked. Close out the task manager and you should see a significant increase in framerate.

If this does indeed cure your problem then you have two choices besides waiting for LL to fix it (ETA probably after Havok 2 update). You can manually set affinity each time you start SL or you can find a utility to do it for you.

Note: This really isn't a fault in SL itself, it is an XP and OpenGL problem for the most part.

I suggest folks post what third party solutions or work arounds they have found here in an easy to locate central thread so it can be easily accessed.

Here are some I found looking through recent posts:

Setaffinity:
http://s8.quicksharing.com/v/5795272/setaffinity.zip.html

WinLauncherXP 2.0.5 Beta:
http://www.majorgeeks.com/download870.html

StartAffinity:
http://www.adsciengineering.com/StartAffinity/

Shoveaffinity:
http://www.adsciengineering.com/tools/shoveaffinity/

Imagecfg:
http://www.robpol86.com/Files/imagecfg.exe

Copy imagecfg.exe to %systemroot%\system32 (or C:\Windows\system32), and %systemroot%\system32\dllcache (or C:\Windows\system32\dllcache).
Doing so will make imagecfg a system command.

To use this tool to set affinity masks for an executable, type the following command in a command prompt window or run dialog:
imagecfg -a 0x1 c:\path\to\file.exe
If the above didnt work, try typing the following:
imagecfg -u c:\path\to\file.exeimagecfg -a 0x1 c:\path\to\file.exe
0x1 = CPU0 (first logical/physical CPU)
0x2 = CPU1 (second CPU)
0x3 = CPU2 (third CPU)
etc...

This tool only works on NT based operating systems (Windows NT, 2000 Family, XP Family, 2003 Family, Longhorn/Vista).
It will work on Multiprocessor machines and Uniprocessor machines with HyperThreading Technology (and probably multicore processors).


Also, here are some excellent threads with lots of info:

/111/66/132023/1.html

http://forums.amd.com/index.php?showtopic=65211&st=35





this is it right here....JUST PERFECT....I resolved all my problems.....its running smoth now...i have a dual core 2 extreme and im running 4 gigs of memory and a GeForce 7600 gt 512 rdd3 video card but even with all that good stuff i was still a bit slow when opening multi.....now with this litle trick its very very i mean very nice ....lol