Wiepman Posted March 31, 2020 Share Posted March 31, 2020 @malautomedonte: Keep in mind Better cities, Unique landscapes and distant VWD LOD are among the most notoriously taxing culprits on fps/stutter. To narrow it down. I would temporarily disable distantLOD all together (just to see if that fixes your problem), than gradually re-add some portions (starting with core, then Ayleid ruins, and so on). I'm sure along these boards you could find some topics to read on the subject for insight into which Landscapes are the most taxing. You should look into that. Then you could try (temporarily) disabling some of the unique landscapes and see if you gain profit? I would wager your culprit would be in the mods above and not so much further tweaking OSR nor as a Windows-user start meddling with dxvk (quite the stellar performance gains in Oblivion with Vulkan seems mainly for Linux-land). Link to comment Share on other sites More sharing options...
malautomedonte Posted March 31, 2020 Share Posted March 31, 2020 (edited) Hey! Yes, those are the biggest offenders when it comes to cell-loading related stuttering, and I have all three of them hehe!I am pretty sure that RAEVWD is causing that, I installed almost every package and unfortunately it is something the old Gamebryo can't manage, let alone every UL mod, the village mods from Arthmoor, those nice 2k-4k textures and so on... My load list is pretty big and I think I have reached the limit. I am having around 30-40 fps @2k but when the engine loads and unloads cells I go down around 20-22 for about 3-5 seconds, before the framerate stabilizes again and distant objects appear on screen one more time. Doing some tweaks through osr and enboost reduced the loading times and they are somehow acceptable, but I think I'll have to give up on some other options to get a better framerate, even if I own a 4.5GHz 6700K. Getting stuttering during a fight for instance is something I'd like to avoid altogether. Edited March 31, 2020 by malautomedonte Link to comment Share on other sites More sharing options...
malautomedonte Posted April 1, 2020 Share Posted April 1, 2020 (edited) Oh yeah, by deleting the distantLOD folder created by tes4lodgen, hence without any extra distant object rendered, I am getting 15-20 fps more, and the stuttering is almost completely gone. I think I have to remove some of those goodies, even if I'd like not. Edited April 1, 2020 by malautomedonte Link to comment Share on other sites More sharing options...
Wiepman Posted April 1, 2020 Share Posted April 1, 2020 Oh yeah, by deleting the distantLOD folder created by tes4lodgen, hence without any extra distant object rendered, I am getting 15-20 fps more, and the stuttering is almost completely gone. I think I have to remove some of those goodies, even if I'd like not. Hey @malautomedonte, Besides have critical look of the Unique Landscapes and what parts you want to keep. I would recommend you to have a look at @Oooiii's "Oblivion Basic Modding Guide" In particular the section "LOD (Optional)" It includes switching RAEVWD for "Evenstars Colourwheel LOD Update"(but keeping RAEVWD SI Edition). https://www.nexusmods.com/oblivion/mods/49898?tab=description Link to comment Share on other sites More sharing options...
malautomedonte Posted April 1, 2020 Share Posted April 1, 2020 (edited) Hey thanks! Yes I know that mod and I also read that guide. :smile:I think Arthmoor's distant models look better, in the end I tried the others and uninstalled them, but...Today, after more tweaking, I found some very good settings for OSR that gave me a lot of fps back and reduced stuttering considerably, without removing anything from the mods I have installed: in particular I have changed the heap algo, switching to a dynamic one (n. 2) and I also changed the modes of the first three critical sections from the override list, those that one can find at the bottom of the INI... As always the results may very depending on the hw configuration, and certain settings might also bug the graphics (for instance my grass was disappearing everytime I cast a spell, and reappeared after the spell hit an enemy or a surface, weird stuff :D ): Master = { _comment = You can turn on or off each distinct feature from here. bManageFPS = 1 bHookCriticalSections = 1 bHookHashtables = 1 bReplaceHeap = 1 bReplaceGetTickCount = 1 bLogToConsole = 0 bFastExit = 1 bExtraProfiling = 0 bFlushLog = 1 iSchedulingResolution = 1 bReplaceRandom = 1 bExperimentalStuff = 1 iMainHookPoint = 1 } Experimental = { _comment =bReduceSleep and iThreadsFixedToCPUs can probably reasonably be used at 1. > 1 is a bad idea atm. _comment =other settings here you're probably better off not touching bReduceSleep = 0 iThreadsFixedToCPUs = 1 bSuppressRandomSeeding = 1 bMonitorBSShaderAccumulator = 0 iPrintSceneGraphDepth = 0 bReplaceRandomWrappers = 1 bBenchmarkHeap = 0 bAlternateHeapHooks = 0 iHeapMainBlockAddress = 0 } FPS_Management = { _comment =Absent a good reason otherwise, bInject_iFPSClamp=1, fMaximumFPS= 30 to 85 (or 0), fMinimumFPS= 10 to 20, iFPS_Report_Period = 2000 to 60000, fExtraSleepPercent = 0.0 to 0.2 bInject_iFPSClamp = 1 fMaximumFPS = 59.5 fMinimumFPS = 10 iFPS_Report_Period = 15000 fExtraSleepPercent =0.05 } GetTickCount = { _comment =This section is disabled by default - see Master/bReplaceGetTickCount bForceResolution = 1 bPreserveDC_Bias = 1 bPreserveHighFreqComponents = 0 bForceSync = 0 iSyncLimitMilliseconds = 50 } CriticalSections = { _comment = CS stuff helps Oblivion, Fallout, and New Vegas significantly _comment = much of the benefit comes from the Renderer+0x180 suppression (see overrides below) _comment = modes: 1=vanilla, 2=fair, 3=staggering(hybrid of 1 & 2), 5=suppressed bUseOverrides = 1 iDefaultMode = 2 iDefaultSpin = 2500 iStaggerLevel = 5 bEnableMessages = 1 bEnableProfiling = 0 } Heap = { _comment =This section is disabled by default - see Master/bReplaceHeap _comment =I recommend enabling it however. _comment = Heap replacement can produce MAJOR improvements in performance on Oblivion at a significant cost in stability _comment = It crashes instantly on Fallout3 last I remember checking _comment = It seems to work on Fallout: New Vegas ? _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 _comment = Size is in units of megabytes, and only effects algorithms 3, 5, and 6 (other algorithms dynamically determine their own size) iHeapAlgorithm = 2 bEnableProfiling = 0 iHeapSize = 5176 bEnableMessages = 0 bZeroAllocations = 0 } Hashtables = { bUseOverrides = 1 bEnableMessages = 0 bEnableExtraMessages = 0 bEnableProfiling = 0 } OverrideList = { CriticalSection = { CallerAddress = 0x701748 comment = Renderer+0x180, recommendation=suppress (mode 5) Mode = 3 } CriticalSection = { ObjectAddress = 0xB32B80 comment = MemoryHeap CS, recommendation=stagger (mode 3) Mode = 3 Spin = 3600 } CriticalSection = { CallerAddress = 0x70172A comment = Renderer+0x80, recommendation= modes 2(for stability) or 5(for performance) Mode = 3 } 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 } } Edited April 1, 2020 by malautomedonte Link to comment Share on other sites More sharing options...
Wiepman Posted April 3, 2020 Share Posted April 3, 2020 Good to learn you've improved performance So you altered some values in OSR.I saw you altered certain values under "CriticalSections"and changed the heap type to "2" and upped the heap size to the whopping size of "5176".Where there any other parts you changed? Link to comment Share on other sites More sharing options...
malautomedonte Posted April 3, 2020 Share Posted April 3, 2020 (edited) So, the heap size of 5176 works only when you are using a fixed-size heap algo, that is the value I was using with heap n. 6. It works well but I cannot go further than that size otherwise the game crashes as it loads the save game. With heap n. 2 the heap size will be adjusted dynamically instead, and maybe it is a good idea to use that when the game is heavily modded. It makes the game a bit more unstable though, as always it depends on the HW one owns. I find it very efficient and together with other settings, it gives you a smooth gaming experience, more than heap n. 6 in my opinion. The other values I have changed are the first three critical sections (see under) and also iDefaultSpin, which I set at 2500. Changing these options improved greatly the stuttering I was experiencing. Keep in mind that some settings might bring to graphical glitches and oddities, in my case they affected grass rendering and shadow rendering. At least that is what I think, but I could also be wrong about it. OverrideList = {CriticalSection = {CallerAddress = 0x701748comment = Renderer+0x180, recommendation=suppress (mode 5)Mode = 3 ---> Modified}CriticalSection = {ObjectAddress = 0xB32B80comment = MemoryHeap CS, recommendation=stagger (mode 3)Mode = 3Spin = 3600 ---> [i modified this too]}CriticalSection = {CallerAddress = 0x70172Acomment = Renderer+0x80, recommendation= modes 2(for stability) or 5(for performance)Mode = 3 ---> Modified Edited April 3, 2020 by malautomedonte Link to comment Share on other sites More sharing options...
malautomedonte Posted April 7, 2020 Share Posted April 7, 2020 After further testing I switched to heap n. 8, it gives me a smoother experience than the n. 2, but, most importantly, one of the settings that was giving me lot of stutter when transitioning from one cell to another was ugriddistantcount, which I had set to 50, following OR's guide on tesreloaded (after about 10 yrs without playing Oblivion I forgot how important that setting was). THAT is what made my game stutter badly, too many low poly meshes were loaded on the distant grids with that value, meshes that I wasn't even able to see because too distant. Now it's set to a more conservative value of 30 (together with ugriddistanttreerange) and stutter lasts 1-2 seconds, even if I am keeping most of the RAEVWD stuff activated... Cells get loaded and unloaded almost instantly. I should have understood that before, since everytime I had the debug text activated on the screen I was seeing that the engine had to load something like 2000 objects in the memory ( O_O ) when switching to one cell to another. Now I can finally play and stop tweaking stuff the whole time! Link to comment Share on other sites More sharing options...
Wiepman Posted April 7, 2020 Share Posted April 7, 2020 Oh sure those uGrid values certainly matter. Myself, I have: uGridDistantTreeRange=15uGridDistantCount=15 You can see my screenshots (3 part "Working on VWD LOD vista"here on the nexus focused on WVD/LOD's,which use these values and notice there's still plenty of distant objects. See:https://www.nexusmods.com/oblivion/images/173296 https://www.nexusmods.com/oblivion/images/173299 andhttps://www.nexusmods.com/oblivion/images/173357 Link to comment Share on other sites More sharing options...
malautomedonte Posted April 7, 2020 Share Posted April 7, 2020 Nice pics! I might try to reduce those values further, I could get some more fps back. Thx for sharing! Link to comment Share on other sites More sharing options...
Recommended Posts