ISXOgre:OgreProcessorlocking

From ISXOgre
Jump to: navigation, search

OgreProcessorLocking

Updated to add: 12 physical/24 virtual core ability

Note: ISBoxer has this option also. This is for those of us who don't use isboxer.

ADVANCED OPTION. DO NOT USE WITHOUT AN UNDERSTANDING OF PROCESSOR AFFINITY.

Sets sessions to a specific core (thread).

To load the OgreProcessorLocking UI use 'ogre proc' in your innerspace console.

Is automatically done only when isxogre is loaded. (Remember this the very first time you set it up, because it won't kick it until you reload isxogre).

Option to skip proclocking when isboxer is enabled (checks by looking for isboxerui running).

Example of when to use.

  • When you have Hyperthreading

Example of usage:

Assumes an i7 (4 physical cores with HT, resulting in 8 threads, or 8 CPUs as per displayed in innerspace). Keep in mind, CPU1 and CPU2 are Core0, CPU3 and CPU4 are Core1, CPU5 and CPU6 are Core2, CPU7 and CPU8 are Core3. For absolute maximum performance, you want 1 session per Core. Realistically, you can run 1 session per thread (CPU). However, on an i7, if you're not running 8, you may be able to get a slight improvement on some sessions.

By default, if I load 4 sessions, it results in the following: CPU5-8 being used. This means I have 2 cores sitting idle, and 2 cores (4 threads) running at 100%.

By setting processor affinity, we can specify the first 4 sessions will be loaded on CPU2, 4, 6, and 8.

We can refine this more if you run 6. This means 2 of the 4 cores (6 of the 8 threads) will be used. That means 2 Cores will each run a single session, and we can specify which 2 sessions those are. Lets say we want our tank (Session1) and Priest (session2) to get a bit extra performance and be on a core by themselves. We could set the following.

  • is1 = CPU2
  • is2 = CPU4
  • is3 = CPU5
  • is4 = CPU6
  • is5 = CPU7
  • is6 = CPU8

Important to note

During my testing, I set is1=cpu2, is2=cpu4, is3=cpu6, is4=cpu8, but set no more. Then, I loaded is5, and (eq2? windows?) put it onto cpu6! This means I had 2 sessions now sharing ONE thread (which halves performance). Therefore, if you do use this, I recommend you put in an option for all available threads. For an i7, do 8. I guess if you plan on exceeding 9, it may be advisable to specify so it doesn't place 3 sessions on a single thread. Do NOT have EQ2s in-game "Multicore support" enabled, or it will cut your FPS by about 75%. Yes, I went from 120 fps to 25fps by having this enabled, by accdient. This is exactly how I personally have mine set up.

  • is1 = CPU2
  • is2 = CPU4
  • is3 = CPU6
  • is4 = CPU8
  • is5 = CPU7
  • is6 = CPU6
  • is7 = CPU3
  • is8 = CPU1

It loads the first 4 on different cores, then starts doubling up on cores (not threads) in reverse. So IS1 will always have maximum prefermance until you hit 8 sessions.