Jump to content

Performance tuning issues


Leo77

Recommended Posts

Posted

I've decided to return to Oblivion after over 2 years of abstinence and am starting with a brand new install. My oblivion skills have gotten quite rusty over the time so i humbly ask for your help in a few matters i'm facing right now.

 

The big issue is combat freezes. I experience small freezes of 1-2 seconds at max at the start of combat and when another npc joins in the fray aswell as on the end of combat. I've come up with the theory that the freezes are caused by the voices, since no lag was encountered when i attacked a npc that didn't comment on the assault, but i'm not entirely sure of that because later testing showed that the total yelling of a mob of around 12 NPC's is killing my FPS with unseen effectivity. The above mentioned was all on a vanilla oblivion, so the possibility of mods interfering is out.

 

I'd also like to ask if someone could point me to an up-to-date guide/modlist of some essentials like obse/boss and performance helping mods, i have a feeling that it's somewhere else than 2 years ago :shy:

 

I'm currently limited to my notebook and most probably will be for a longer time, but i hope i can get oblivion running again since it was able to run a moderate amount of mods the last time i had oblivion fever :D

 

It's an asus notebook running Win7 64-bit

8GB ram (upgraded from 4GB)

Intel core 2 duo t6570

Nvidia GeForce GT 320M

 

 

also mildly off-topic: Did anyone here manage to successfuly merge the heap of esps from Unique Landscapes to a more managable number? I would love some pointers on which esp are safely mergeable if any of them are.

 

And lastly: I'm well aware that my english is far from perfect so feel free to point out anything i said that doesn't make sense, i'll try to put it in another, hopefully understandable way.

Posted

Still the best guide for performance tweaking in my mind-> TweakGuides  Especially the 'Advanced' sections.

'The Quiet Feet MAX' mod on nexus can be useful and the Description has some interesting information on further tweaking.

 

You're English is better than my native 'American english' ;)

 

Mem

Posted

I'll 2nd what mem4ob4 wrote; TweakGuides.

 

Some quick starter suggestions

1. Run 4g patch on the Oblivion.exe.

2. Obivion Stutter Removal You'll need to then research how best to set up the ini for your particular PC. As an example ONLY, here is mine:

 

sr_Oblivion_Stutter_Remover.ini (***EXAMPLE ONLY!!!)

 

 

Master = {
_comment = You can turn on or off each distinct feature from here.
bManageFPS = 1
bHookCriticalSections = 1
bHookHashtables = 1
bReplaceHeap = 1
bLogToConsole = 0
bFix64Hertz = 1
bExtraProfiling = 0
bFlushLog = 1
iSchedulingResolution = 1
bReplaceRandom = 1
bExperimentalStuff = 0
iMainHookPoint = 1
}
Experimental = {
iReduceLongSleep = 0
bRemoveShortSleep = 0
iThreadsFixedToCPUs = 0
bSuppressRandomSeeding = 0
bMonitorBSShaderAccumulator = 0
iPrintSceneGraphDepth = 0
bReplaceRandomWrappers = 1
bBenchmarkHeap = 0
bAlternate64HertzFix = 0
bAlternateHeapHooks = 0
iHeapMainBlockAddress = 0
}
FPS_Management = {
_comment = Basic FPS stuff, switches to slow-motion on low FPS; in the past this has occaisonally produced bugs like the NPCs-dropping-dead issue; the issues are believed to be fixed but if you suspect you are having related problems you can try disabling bAllowSlowMotion which is the main suspect for any problems relating to FPS management
bAllowSlowMotion = 1
MaximumFPS = 50
MinimumFPS = 10
iSmoothFrames = 1
iSmoothMode = 0
iSleepExtra = 2
iFPS_Frequency = 4000
iSchedulingParanoia = 1
iHardMaxFrametime = 200
}
CriticalSections = {
_comment = CS stuff helps Oblivion, Fallout, and New Vegas significantly
_comment = most of the benefit comes from the Renderer+0x180 suppression (see overrides below)
_comment = modes: 1=vanilla, 2=fair, 3=staggering, 5=suppressed, 6=prioritize-main-thread, 7=deprioritize-main-thread
bEnableProfiling = 0
bEnableMessages = 1
bUseOverrides = 1
iDefaultMode = 2
iDefaultSpin = 1200
iStaggerLevel = 5
}
Heap = {
_comment = Heap replacement can produce MAJOR improvements in performance on Oblivion at a significant cost in stability
_comment = It crashes instantly on Fallout3, and would only produce a small performance improvement there anyway
_comment = It is not supported at all on Fallout: New Vegas at this time
_comment = Algorithms: 1=FastMM4, 2=Microsoft (slow on XP), 3=SimpleHeap1, 4=TBBMalloc, 5=ThreadHeap2, 6=ThreadHeap3, 8=tcmalloc
_comment = Algorithms numbers 1, 4, and 8 require external DLL files in the Data/OBSE/Plugins/ComponentDLLs folder
iHeapAlgorithm = 6
bEnableProfiling = 0
iHeapSize = 450
bEnableMessages = 0
iGenericFreeDelay = 0
bZeroAllocations = 0
}
Hashtables = {
_comment = The dynamic resizing option is buggy and not recommended. 
bAllowDynamicResizing = 0
bUseOverrides = 1
bEnableProfiling = 0
bEnableMessages = 0
bEnableExtraMessages = 0
iHashtableResizeScale1 = 2
iHashtableResizeScale2 = 4
iHashtableResizeDelay = 20
}
OverrideList = {
CriticalSection = {
  CallerAddress = 0x701748
  comment = Renderer+0x180, recommendation=suppress (mode 5)
  Mode = 5
}
CriticalSection = {
  ObjectAddress = 0xB32B80
  comment = MemoryHeap CS, recommendation=stagger (mode 3)
  Mode = 3
  Spin = 1500
}
CriticalSection = {
  CallerAddress = 0x70172A
  comment = Renderer+0x80, recommendation= modes 2(for stability) or 5(for performance)
  Mode = 2
}
CriticalSection = {
  ObjectAddress = 0xB3FA00
  comment = Unknown4, recommendation=stagger (mode 3)
  Mode = 3
}
CriticalSection = {
  ObjectAddress = 0xB33800
  comment = BaseExtraList, recommendation=stagger (mode 3)
  Mode = 3
}
CriticalSection = {
  ObjectAddress = 0xB3F600
  comment = recommendation=stagger (mode 3)
  Mode = 3
}
CriticalSection = {
  ObjectAddress = 0xB3FC00
  comment =
  Mode = 2
}
CriticalSection = {
  ObjectAddress = 0xB39C00
  comment =
  Mode = 2
}
Hashtable = {
  comment =caller 0x00418E16
  SizeAddress = 0x00418DDB
  OldSize = 37
  NewSize = 149
}
Hashtable = {
  comment =caller 0x0045a8a1
  SizeAddress = 0x0045A866
  OldSize = 5039
  NewSize = 133123
}
Hashtable = {
  comment =caller 0x004A25BC
  SizeAddress = 0x004A2586
  OldSize = 523
  NewSize = 2711
}
Hashtable = {
  comment =multipart 1/2 - caller 0x004e614f
  SizeAddress = 0x004E610F
  OldSize = 37
  NewSize = 47
}
Hashtable = {
  comment =multipart 2/2 - caller 0x004e614f
  SizeAddress = 0x004E612C
  OldSize = 37
  NewSize = 47
}
Hashtable = {
  comment =caller 0x004E9014
  SizeAddress = 0x004E8FD7
  OldSize = 37
  NewSize = 739
}
Hashtable = {
  comment =caller 0x004f0e20
  SizeAddress = 0x004F1B44
  OldSize = 37
  NewSize = 127
  WordBits = 8
}
Hashtable = {
  comment =caller 0x004f1d60
  SizeAddress = 0x004F220A
  OldSize = 7001
  NewSize = 7001
}
Hashtable = {
  comment =also caller 0x004f1d60
  SizeAddress = 0x004F222E
  OldSize = 701
  NewSize = 901
}
Hashtable = {
  comment =also caller 0x004f1d60
  SizeAddress = 0x004F2B70
  OldSize = 37
  NewSize = 127
  WordBits = 8
}
Hashtable = {
  comment =multipart 1/2 - caller 0x004F2ACB
  SizeAddress = 0x004F2A8B
  OldSize = 37
  NewSize = 713
}
Hashtable = {
  comment =multipart 2/2 - caller 0x004F2ACB
  SizeAddress = 0x004F2AA8
  OldSize = 37
  NewSize = 713
}
Hashtable = {
  comment =multipart 1/2 - caller 0x004f2b3e
  SizeAddress = 0x004F2AEF
  OldSize = 37
  NewSize = 1301
}
Hashtable = {
  comment =multipart 2/2 - caller 0x004f2b3e
  SizeAddress = 0x004F2B12
  OldSize = 37
  NewSize = 1301
}
Hashtable = {
  comment =caller 0x0067fbb0
  SizeAddress = 0x006C5396
  OldSize = 37
  NewSize = 83
}
Hashtable = {
  comment =also caller 0x0067fbb0
  SizeAddress = 0x0067FD35
  OldSize = 191
  NewSize = 3019
}
Hashtable = {
  comment =also caller 0x0067fbb0
  SizeAddress = 0x0067FE5F
  OldSize = 191
  NewSize = 2021
}
Hashtable = {
  comment =caller 0x006C56B0
  SizeAddress = 0x006C5674
  OldSize = 37
  NewSize = 299
}
Hashtable = {
  comment =caller 0x00714788
  SizeAddress = 0x00714752
  OldSize = 59
  NewSize = 239
}
Hashtable = {
  comment =many callers: 0x00769C3D, 0x00769CAD, 0x00769D03, 0x00769D53, 0x00769DA1
  SizeAddress = 0x00769BEB
  OldSize = 37
  NewSize = 297
}
Hashtable = {
  comment =multipart 1/2 - caller 0x009dbf36
  SizeAddress = 0x009DBF03
  OldSize = 131213
  NewSize = 905671
}
Hashtable = {
  comment =multipart 2/2 - caller 0x009dbf36
  SizeAddress = 0x00B06140
  OldSize = 131213
  NewSize = 905671
}
Hashtable = {
  comment =caller 0x009e2726
  SizeAddress = 0x009E26F3
  OldSize = 37
  NewSize = 297
}
Hashtable = {
  comment =caller 0x00a10de6
  SizeAddress = 0x00A10DB3
  OldSize = 37
  NewSize = 297
}
}

 

 

 

I strongly suggest hard clamping to 50FPS, BUT you may need to start out even lower like 30 or 40, then gradually increase it. FRAPS really helps here as you can set it up to log your FPS while in-game for later analysis. Takes some of the guess work out of, "If I tweak this, what are my in-game results?"

 

Other really important tweaks may be to your graphics card program. If your graphics card software provides the ability to create game 'profiles' consider creating one just for Oblivion. That is what I did, and through trial and error found my optimum settings for it and Oblivion.

Posted

Thanks for the replies! I've spent some time tweaking oblivion.ini and OSR.ini which did result in better FPS, but sadly the combat stutter is still there.

I've also looked on my graphics card software but none of the options present seemed like something i would want to change.

 

I'm now thinking about streamline, but if i remember correctly, i did not see any improvement whatsoever with streamline last time, so that might not help me either :(

 

mild off-topic: I remember that oblivion AI was stupid, but were they always running in circles when panicked? :D

 

EDIT: Almost forgot! I did apply the 4GB patch on my oblivion.exe, but after reading through some topics about the patch i'm confused how to properly apply the patch, because one thread recommends patching the obse launcher and dlls too yet another warns to not patch anything else than the oblivion.exe.

Posted

4GB patch - I only patched oblivion.exe.

 

Most areas I enjoy a solid 50 FPS, and my PC as well as some NPCs I've added to the game, can move very fast as well.

 

I DLed streamline but never set it up since I was able to get a rock solid setup without it. I read some not so good reviews also contributed to that decision.

 

Highly occupied areas do slow down, and that is due to Oblivion only making use of one core of any type of microprocessor. These are the limits we have to work within, sux but that's the reality of it. Tweaking my graphics card and Oblivion settings was my final focus and where I eventually gained quite a bit. Sometimes it's a choice between improved stability & performance vs in-game look and feel; eye candy.

Posted

Seems like the combat stutter is here to stay. :-/

 

Meh. I'll just roll with it.

 

thanks for the tips, i guess this is answered now

Posted

You still can try this mod which specifically addresses the problem of combat FPS loss.

This one seems to be (I never tried it myself) a kind of 'Streamline' clone only affecting combat while being inactive when you are not engaging enemies.

  • 2 weeks later...

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...