Does anyone know a way to change the brightness/gamma when using borderless window mode? The game doesn't let me adjust the setting unless I'm in fullscreen. Changing the gamma in ini doesn't seem to make a difference either.
The mod seems to be working except for the FOV fix. Anything higher than 75 doesn't seem to work. I suspect it's because I'm using linux, but any insight would be helfpul.
It seems that the high FPS fix breaks Detect Life effects. Setting iMaxFPSTolerance to 60 instead of 204 seems to fix the issue so I assume it has something to do with this setting. Here is a video showing what happens when iMaxFPSTolerance=204 versus when iMaxFPSTolerance=60. It may be worth noting that I didn't cap my framerate to 60 when I tested this, I left it capped at 144 for both. I'm not sure if this is happening because of user error on my part or not but it's bugging me so any help is greatly appreciated.
Wow, so that's what was messing my Detect Life up. Can you check whether the game works fine with the FPS fix turned off? I'm not playing Oblivion anymore. There's been a few reports already that the FPS fix might have issues and I'm considering disabling it by default. It seems that Oblivion doesn't have the same issues related to high FPS as New Vegas.
Disabling the high FPS fix the game still runs fine, no speed ups or anything but Detect Life is still broken. The only way I can get the effects to actually work is by setting iMaxFPSTolerance to 60. Interestingly, with bFPS Fix=0 and iMaxFPSTolerance=60 Detect Life is still broken.
No, you get the weird speed ups and slow downs like you would when normally trying to play at a high framerate without Oblivion Display Tweaks but Detect Life does work properly. The settings seems to have the opposite effect sometimes. You'd think that disabling the FPS fix would cause the speedups and slow downs but it doesn't, only changing iMaxFPSTolerance does.
The FPS tolerance settings don't do anything at all when bFPSFix is off, by the way.
I'm confused, a few users were reporting that the bFPSFix was causing the game to speed up when enabled so I was under the impression that it doesn't actually work and that I should probably disable it, given that I couldn't actually notice any difference when porting the code from New Vegas. Now it turns out it does actually fix that problem for some, and causes it for others? This is weird.
Yeah, it seems Detect Life is just tied to FPS is some way. Capping the game to 60 or 120 FPS makes it work perfectly but at 144 FPS it breaks. Odd thing is, at least for me, it doesn't matter if I turn the FPS fix on or off the game still runs fine. I'm really not sure what's going on.
EDIT: I never drop below 144 FPS when playing this game so that may have something to do with the FPS fix not really affecting me.
Yeah, that's how it was for me too. Seems that I misunderstood you, I thought you needed the FPS Fix to fix the game speed.
I'm considering disabling the FPS Fix by default, because it seems that for most users it either doesn't do anything or is causing the problem. Seems that the New Vegas engine is different in this case and Oblivion might just not need this at all.
By the way, does Detect Life have the same issue without the plugin?
Yeah sure, not a problem. I'll get back to you when I figure it out.
EDIT: Ok, so the only thing that seems to affect it is what your FPS is capped to. At 144 FPS and iMaxFPSTolerance=204, Detect Life is broken. At 130 FPS and iMaxFPSTolerance=190, Detect Life sort of works and you can slightly make out the effect on the person. At 120 FPS and iMaxFPSTolerance=180, Detect Life seems to work well enough to be playable but it's definitely not as intense as it would be at 60 FPS. However, the FPS fix seems to be pointless which means iMaxFPSTolerance is as well. So, the effect itself is actually just dependent on what FPS the game is running at.
Alright, but you said that without the plugin, Detect Life works fine. So which part of the plugin causes this issue? Because it's not the probably-useless FPS Fix, as you've checked that already.
So, by what I understood, to fix detect life you need to cap your game's FPS to either 60 or 120 FPS (or potentially other multiples of 60?) and NOT use this mod's "bFPSFix" (set it to zero). Is that right?
... I mean, I just tried this and now detect life finally works. I'll just have to see if I get any weird FPS behavior without the fix. But at least I'm glad I'm not forced to play at 60 FPS and can go to 120. I was used to 144 so 60 was kinda "painful".
P.S. Is using the iFPSClamp property to cap FPS pretty much the same as using the GPU's game settings or should we leave that property to 0?
If you're having inconsistent framerates or issues with your char moving too fast regardless of the max fps setting try making sure v-sync is on via Oblivion's launcher. Enabling borderless window automatically turns off v-sync.
For the love of god, thank you. The high frame rate fix was completely failing to work and I was going completely insane but this fixed it. For reference of anyone else reading this, I was using Mod Organizer 2, and you have to tell it to open the launcher to change the vsync setting there. Then after you've set it and started/exited the game, you can change it back to directly opening the game.
After following the suggestion to try dxvk, I can say, that it made everything so much more stable and loading seems in parts faster.
dxvk seems to lower some memory requirements too, and lifts some memory limits, like how much VRAM the game can use. Either way, it improves some things and this can make a lot of difference.
Do not fret seeing all these info and files on Github, it's extremely easy to install. Ignore everything, it's not important, and just grab the latest .tar.gz file from https://github.com/doitsujin/dxvk/releases and drop the x32 version of d3d9.dll file (or just extract all, if you are unsure how, it doesn't hurt) in the root of your Oblivion game folder directly. Don't use mod managers for that, it won't work. On the next start of your game, it's already using it - you may actually notice it, when you have removed intro videos, as the loading screen there may be faster, or by your HDR acting differently, or your FPS being higher or more stable. Alt+Tabbing to windows will also work finally flawlessly with Oblivion!
Thank you kdimi11! This little tip helped immensely with stability and seemingly has lessened stuttering alot. I did do the exterior and interior cellbuffer changes in oblivion.ini which you have mentioned in an earlier comment(set to same values as you stated in the comment), didnt touch the preload thingy as im not sure how to fiddle with that(i have 16gb ram). Oh, and i set the bPreemptivelyUnloadCells to 1 and everything seems to work fine for now.
The dxvk d3d9.dll should be a essential addition to everyone's modded Oblivion shenanigans.
I tried MoreHeap but when i had the files in my oblivion install, game just didnt want to work with it. I couldnt get past the launcher so i gave it the yeet :D
I tried dxvk 2.3 and the game crashed in about 15 minute session. I don't know what the cause of this CTD was and in no way blame dxvk for that CTD but there's one more thing - I had to remove ENBoost for dxvk to take its place since these two mods have a file with the same name, namely d3d9.dll. Without it ENBoost doesn't work. And I need ENBoost for one of its secondary functions - parameter named ReduceSystemMemoryUsage that being enabled launches enbhost.exe that takes some RAM from Oblivion.exe thus reducing total memory used by Oblivion. In conjunction with 4GB Patch ENBoost with this feature enabled rather noticeably reduces memory leaks that happen over time elapsed, during prolonged game session. And I think these memory leaks may be one of reasons for game crashes or at least increase risk of that happened. So in the end I chose back my good old ENBoost.
RANDOM BLACK TEXTURES AND CRASHES? HERE'S HOW TO SOLVE IT ONCE AND FOR ALL!
Started having after some cell changes random black texture issues, after enhancing my mods more and more. It was easy to reproduce, by going in/out of the different shops in the imperial city. After passing some doors, black textures would randomly start to appear. After a bit more, a crash would occur.
After some experimenting and figuring out/understanding deeper, what some INI settings and tools/mods truely do, it turns out, that some suggestions are contra-productive.
The key to a very stable Oblivion setup, is to understand, how Oblivion is using the memory or rather, how or when it won't be able to use more than it can access. Reserving more memory for things, which may not need it, or for the purpose of supposedly hoping to improve performance, where it may not be needed these days, make less memory available for things where it's essential to be available or required.
Here's how to get this issue all stable. Really important: Always change ONLY ONE THING at a time, or you may never figure out what the most stable setup is.
More Heap is not always more stable (no pun intended lol) - less heap is better. Experiment with values between 512 and 1024, like 640, 768 and 832 (or add/subtract values like 64 and 32). 1024 is almost always too much! The reason for this is simple. With Oblivions memory limitations, less memory may be available for other things. My setup seems to do fine with 640, much less than I had before.
Another thing I realized is, it matters, how your cell buffers are used. The issue with the black textures, comes from the cell buffers. If Oblivion runs out of memory for the cell buffers or is out of cell buffers (having too much heap available, may not trigger old cells cleaned up when needed maybe?), textures simply won't be able to be loaded, similar as if they were missing on disc.
Some may have increased in the Oblivion.ini file, the values for the variables uExterior Cell Buffer and uInterior Cell Buffer. Well, what many seem to miss is the fact, that this suggestion initially came from people running Oblivion un-modded, where it may very well improve things. Simply, because the vanilla data require less memory, and so may cache more cells in RAM. However, a modded Oblivion, will require more resources for each cell, so raising the cell buffers, may hit several limits or make memory mechanisms not work as intended.
Here again, lower values for a modded or heavily modded Oblivion are better. I left exteriors to the default 36, and increased Interiors just up to 6. This seemed to be the perfect value, where 3 would work worse in other ways, and higher values would start causing these issues.
One other setting seemed also to help here a lot. After I tested with the console, purging cell buffers every time on cell changes, seemed also to not trigger the issue. Though, that is a BAD idea, as it eliminates anything cached in memory. However, setting bPreemptivelyUnloadCells to 1in combination with a good, not too high number of cell buffers, will trigger it not too often, yet often enough when needed. Even though in the past, this setting was often not suggested to change, ignore that suggestion, because it won't matter performance-wise with today's powerful hardware, but it will matter for stability! I do NOT suggest though mods which purge after every loading, because these eliminate unintelligently all buffers instantly and causes constant reloading between interiors/exteriors changes. Not something you want.
What else should you pay attention to?
Adjust also the variable iPreloadSizeLimit. I have set it to just 52428800 (and even though I've 32GB RAM) and works great. I tried with higher values, once again here too, set it too high, and issues will start appearing. WIth today's discs being so much faster than before 10-14 years, smaller preloading isn't an issue. The issue is rather with Oblivion, if it requests more memory to use, which may be not available anymore, because it can't use memory beyond the 4GB memory space (you did patch your version for 4GB, correct?).
You should get rid of OSR. Seriously, get rid of it. I kept it alongside MoreHeap, because of people saying, that it still helps. That's not true. Actually, after some research OSR causes now with Windows 10 and 11 more crashes than it fixes. I myself eliminated some crashes, after getting rid of it, when roaming the lands. Use OblivionDisplayTweaks instead with all it's features - no matter if some claim, that OSR or another mod may do one or two things better. Mixing them up, and deactivating some settings in the one or other is generally a bad idea. I tried it, and tested it thoroughly.
And generally, get the "EngineBugFixes" and "Blue's Engine Fixes" too.
Again, with other places, or dungeons or locations, you may need different values - I haven't tested it throughout the whole game yet, after this point forward. But it may be likely, that the same values, may not work the same well everywhere. Keep this in mind.
Conclusion or tl;dr
Don't overdo it with trying to ask Oblivion to use a lot of this or that. Don't overreserve memory for heap and more cell buffers or preload caches. These suggestions came initially from vanilla players, a modded version behaves very different! It's gonna cause Oblivion have less memory available for other things to load, like for bigger and more textures and other data. This leads then to missing black textures, which couldn't be loaded, or even crashes. A stable setup is created mostly around the following variables:
iPreloadSizeLimit, uExterior Cell Buffer and uInterior Cell Buffer in Oblivion.ini DefaultHeapSize in MoreHeap.ini
General rule: Stay close to the defaults, increase values only one at a time and try, with only one or two of each value increased. Don't go multiply them several times, but only raise by very little at a time.
Mod's fpsfix is broken, would make the game insanly quick without doing any of those fps cap thing, change the ifpsfix to 0 and use OSR's fps manager if you want to cap your fps.
369 comments
Can you check whether the game works fine with the FPS fix turned off? I'm not playing Oblivion anymore.
There's been a few reports already that the FPS fix might have issues and I'm considering disabling it by default. It seems that Oblivion doesn't have the same issues related to high FPS as New Vegas.
I'm confused, a few users were reporting that the bFPSFix was causing the game to speed up when enabled so I was under the impression that it doesn't actually work and that I should probably disable it, given that I couldn't actually notice any difference when porting the code from New Vegas. Now it turns out it does actually fix that problem for some, and causes it for others? This is weird.
EDIT: I never drop below 144 FPS when playing this game so that may have something to do with the FPS fix not really affecting me.
Yeah, that's how it was for me too. Seems that I misunderstood you, I thought you needed the FPS Fix to fix the game speed.
I'm considering disabling the FPS Fix by default, because it seems that for most users it either doesn't do anything or is causing the problem. Seems that the New Vegas engine is different in this case and Oblivion might just not need this at all.
By the way, does Detect Life have the same issue without the plugin?
No, with ODT disabled Detect Life does work properly. Interestingly enough, it also works at 120 FPS as well but bumping the FPS up to 144 breaks it.
EDIT: Ok, so the only thing that seems to affect it is what your FPS is capped to. At 144 FPS and iMaxFPSTolerance=204, Detect Life is broken. At 130 FPS and iMaxFPSTolerance=190, Detect Life sort of works and you can slightly make out the effect on the person. At 120 FPS and iMaxFPSTolerance=180, Detect Life seems to work well enough to be playable but it's definitely not as intense as it would be at 60 FPS. However, the FPS fix seems to be pointless which means iMaxFPSTolerance is as well. So, the effect itself is actually just dependent on what FPS the game is running at.
Is that right?
... I mean, I just tried this and now detect life finally works. I'll just have to see if I get any weird FPS behavior without the fix. But at least I'm glad I'm not forced to play at 60 FPS and can go to 120. I was used to 144 so 60 was kinda "painful".
P.S. Is using the iFPSClamp property to cap FPS pretty much the same as using the GPU's game settings or should we leave that property to 0?
If you're having inconsistent framerates or issues with your char moving too fast regardless of the max fps setting try making sure v-sync is on via Oblivion's launcher. Enabling borderless window automatically turns off v-sync.
For reference of anyone else reading this, I was using Mod Organizer 2, and you have to tell it to open the launcher to change the vsync setting there. Then after you've set it and started/exited the game, you can change it back to directly opening the game.
dxvk seems to lower some memory requirements too, and lifts some memory limits, like how much VRAM the game can use. Either way, it improves some things and this can make a lot of difference.
Do not fret seeing all these info and files on Github, it's extremely easy to install. Ignore everything, it's not important, and just grab the latest .tar.gz file from https://github.com/doitsujin/dxvk/releases and drop the x32 version of d3d9.dll file (or just extract all, if you are unsure how, it doesn't hurt) in the root of your Oblivion game folder directly. Don't use mod managers for that, it won't work. On the next start of your game, it's already using it - you may actually notice it, when you have removed intro videos, as the loading screen there may be faster, or by your HDR acting differently, or your FPS being higher or more stable. Alt+Tabbing to windows will also work finally flawlessly with Oblivion!
The dxvk d3d9.dll should be a essential addition to everyone's modded Oblivion shenanigans.
I tried MoreHeap but when i had the files in my oblivion install, game just didnt want to work with it. I couldnt get past the launcher so i gave it the yeet :D
https://imgur.com/a/MQxxO8G
Started having after some cell changes random black texture issues, after enhancing my mods more and more. It was easy to reproduce, by going in/out of the different shops in the imperial city. After passing some doors, black textures would randomly start to appear. After a bit more, a crash would occur.
After some experimenting and figuring out/understanding deeper, what some INI settings and tools/mods truely do, it turns out, that some suggestions are contra-productive.
The key to a very stable Oblivion setup, is to understand, how Oblivion is using the memory or rather, how or when it won't be able to use more
than it can access. Reserving more memory for things, which may not need it, or for the purpose of supposedly hoping to improve performance,
where it may not be needed these days, make less memory available for things where it's essential to be available or required.
Here's how to get this issue all stable. Really important: Always change ONLY ONE THING at a time, or you may never figure out what the most stable setup is.
More Heap is not always more stable (no pun intended lol) - less heap is better. Experiment with values between 512 and 1024, like 640, 768 and
832 (or add/subtract values like 64 and 32). 1024 is almost always too much! The reason for this is simple. With Oblivions memory limitations,
less memory may be available for other things. My setup seems to do fine with 640, much less than I had before.
Another thing I realized is, it matters, how your cell buffers are used. The issue with the black textures, comes from the cell buffers. If Oblivion runs out of
memory for the cell buffers or is out of cell buffers (having too much heap available, may not trigger old cells cleaned up when needed maybe?),
textures simply won't be able to be loaded, similar as if they were missing on disc.
Some may have increased in the Oblivion.ini file, the values for the variables uExterior Cell Buffer and uInterior Cell Buffer. Well, what many seem to miss is the fact, that this suggestion initially came from people running Oblivion un-modded, where it may very well improve things. Simply, because the vanilla data require less memory, and so may cache more cells in RAM. However, a modded Oblivion, will require more resources for each cell, so raising the cell buffers,
may hit several limits or make memory mechanisms not work as intended.
Here again, lower values for a modded or heavily modded Oblivion are better. I left exteriors to the default 36, and increased Interiors just up to
6. This seemed to be the perfect value, where 3 would work worse in other ways, and higher values would start causing these issues.
One other setting seemed also to help here a lot. After I tested with the console, purging cell buffers every time on cell changes, seemed also to
not trigger the issue. Though, that is a BAD idea, as it eliminates anything cached in memory. However, setting bPreemptivelyUnloadCells to
1in combination with a good, not too high number of cell buffers, will trigger it not too often, yet often enough when needed. Even though in
the past, this setting was often not suggested to change, ignore that suggestion, because it won't matter performance-wise with today's
powerful hardware, but it will matter for stability! I do NOT suggest though mods which purge after every loading, because these eliminate
unintelligently all buffers instantly and causes constant reloading between interiors/exteriors changes. Not something you want.
What else should you pay attention to?
Adjust also the variable iPreloadSizeLimit. I have set it to just 52428800 (and even though I've 32GB RAM) and works great. I tried with higher values, once again here too, set it too high, and issues will start appearing. WIth today's discs being so much faster than before 10-14 years, smaller preloading isn't an issue. The issue is rather with Oblivion, if it requests more memory to use, which may be not available anymore, because it can't use memory beyond the 4GB
memory space (you did patch your version for 4GB, correct?).
You should get rid of OSR. Seriously, get rid of it. I kept it alongside MoreHeap, because of people saying, that it still helps. That's not true. Actually, after some research OSR causes now with Windows 10 and 11 more crashes than it fixes. I myself eliminated some crashes, after getting rid of it, when roaming the lands. Use OblivionDisplayTweaks instead with all it's features - no matter if some claim, that OSR or another mod may do one or two things better. Mixing them up, and deactivating some settings in the one or other is generally a bad idea. I tried it, and tested it thoroughly.
And generally, get the "EngineBugFixes" and "Blue's Engine Fixes" too.
Again, with other places, or dungeons or locations, you may need different values - I haven't tested it throughout the whole game yet, after this
point forward. But it may be likely, that the same values, may not work the same well everywhere. Keep this in mind.
Conclusion or tl;dr
Don't overdo it with trying to ask Oblivion to use a lot of this or that. Don't overreserve memory for heap and more cell buffers or preload
caches. These suggestions came initially from vanilla players, a modded version behaves very different! It's gonna cause Oblivion have less
memory available for other things to load, like for bigger and more textures and other data. This leads then to missing black textures,
which couldn't be loaded, or even crashes. A stable setup is created mostly around the following variables:
iPreloadSizeLimit, uExterior Cell Buffer and uInterior Cell Buffer in Oblivion.ini
DefaultHeapSize in MoreHeap.ini
General rule: Stay close to the defaults, increase values only one at a time and try, with only one or two of each value increased.
Don't go multiply them several times, but only raise by very little at a time.