[RELz] Oblivion Stutter Remover

Post » Fri May 27, 2011 8:09 pm

I was hopeful... but unfortunately the stuck/intermittent messages problem I've posted about is still present. http://img130.imageshack.us/img130/1549/screenshot95.jpg is a pick. The "a" is what gets stuck on screen when using NoMoreAnnpoingMessages and heap 5. Won't stop me from using OSR though- the benefits far outway this annoyance. :) After increasing my ram from 2->4Gb (Core2duo e8400, ddr2 800 mHz), the "intermittence" of the messages is less sporadic- from 1-2 out of ten "you successfully harvest xxx" actually showing up to maybe 3-5 out of ten.

Couple things I noticed: with bHookLightCriticalSections enabled (the default setting) the game felt a little jerky (XP32bit still..). Also fps seemed to be limited to 20-21 with MaximumFPS = 30.

Will eventually do some more playing using this new OSR4 in OB... getting back into FO3, which FSR has greatly helped (after adding some mods FO3 definitely needs something to help with performance, for my comp). Just using 1beta1 there... when I get my mod list ~finalized I will try out the new version.

:bowdown: SkyRanger-1, would you please consider the benefits of a more comprehensive version numbering system for your SR releases? In some cases the only indication of version is in the link you provide for download. Maybe including version number in the ini?
User avatar
Tessa Mullins
 
Posts: 3354
Joined: Mon Oct 22, 2007 5:17 am

Post » Fri May 27, 2011 4:05 pm

The new OSR4 alpha2 seems to be working a lot better than alpha1 for me. Its maintaining the OSR FPS settings.
iHeapAlgorithm = 1, with FPS 32/15. XPsp3
Not using hashtable options.
User avatar
Vickey Martinez
 
Posts: 3455
Joined: Thu Apr 19, 2007 5:58 am

Post » Fri May 27, 2011 6:44 am

Heap Replacement is working great and Dynamic Hashtable Resizing does not crash for me. I noticed the hashtable resizing gives me about 5+ fps.
Sounds like a significant performance difference. Which means I really need to figure out a way to systematically hook them safely. Or if there's only one or two that make the big difference, find their construction and hook them specifically.

I can't detect any difference. It certainly didn't hurt anything!
It's sounding like mismatch in heap conventions was not a significant cause of problems.

Maybe it's my imagination, but I seem to get graphic corruption (flashing textures, odd streaks in the sky, etc.) with CriticalSections iDefaultMode = 6 much more often than I do with iDefaultMode = 2.

Normally it only happens after an hour or more of playing, if at all. With iDefaultMode = 6, it happens more frequently - sometimes shortly after loading.
Probably an Oblivion race condition of some kind.

I was hopeful... but unfortunately the stuck/intermittent messages problem I've posted about is still present. http://img130.imageshack.us/img130/1549/screenshot95.jpg is a pick. The "a" is what gets stuck on screen when using NoMoreAnnpoingMessages and heap 5. Won't stop me from using OSR though- the benefits far outway this annoyance. :) After increasing my ram from 2->4Gb (Core2duo e8400, ddr2 800 mHz), the "intermittence" of the messages is less sporadic- from 1-2 out of ten "you successfully harvest xxx" actually showing up to maybe 3-5 out of ten.

Couple things I noticed: with bHookLightCriticalSections enabled (the default setting) the game felt a little jerky (XP32bit still..). Also fps seemed to be limited to 20-21 with MaximumFPS = 30.

Will eventually do some more playing using this new OSR4 in OB... getting back into FO3, which FSR has greatly helped (after adding some mods FO3 definitely needs something to help with performance, for my comp). Just using 1beta1 there... when I get my mod list ~finalized I will try out the new version.

:bowdown: SkyRanger-1, would you please consider the benefits of a more comprehensive version numbering system for your SR releases? In some cases the only indication of version is in the link you provide for download. Maybe including version number in the ini?
The heap convention changes are more likely to fix CTDs than glitches. Although... your description of that glitch makes it sound like it is triggered by a message that was removed or shortened to nothing. That's a subtitle, yes? I use heap mode 5 with NoMoreAnnoyingMessages and do not see those symptoms. Are you using Elys USV btw?
bHookLightCriticalSections should have no effect - it's a Fallout-only setting that isn't yet fallout-only for ini purposes. If it has any effect at all on Oblivion then that's a bug.
The next OSR version will have a dll version number. I'm not sure I'll keep the version number up to date... there's no autoincrement mechanism atm. And atm it won't show up in log files or ini files, just the dll itself.


The new OSR4 alpha2 seems to be working a lot better than alpha1 for me. Its maintaining the OSR FPS settings.
iHeapAlgorithm = 1, with FPS 32/15. XPsp3
Not using hashtable options.
Apparently your weird FPS maximum was tied to one of the things I changed. I'm not sure how though, there were a few related things changed, none of which had a noticable effect on mine.
User avatar
R.I.P
 
Posts: 3370
Joined: Sat Dec 01, 2007 8:11 pm

Post » Fri May 27, 2011 11:17 am

...
The heap convention changes are more likely to fix CTDs than glitches. Although... your description of that glitch makes it sound like it is triggered by a message that was removed or shortened to nothing. That's a subtitle, yes? I use heap mode 5 with NoMoreAnnoyingMessages and do not see those symptoms. Are you using Elys USV btw?
bHookLightCriticalSections should have no effect - it's a Fallout-only setting that isn't yet fallout-only for ini purposes. If it has any effect at all on Oblivion then that's a bug.
The next OSR version will have a dll version number. I'm not sure I'll keep the version number up to date... there's no autoincrement mechanism atm. And atm it won't show up in log files or ini files, just the dll itself.
...

The only dll's I'm using lately are OBSE_Elys_Uncapper.dll and sr_Oblivion_Stutter_Remover.dll (was using obge when a component of AN required it; haven't used weOCPS for a while... got into the habit of restarting whenever it caught something anyway).

Here's a recap:

1. The problem showed up between 3beta5 and 3beta6- which introduced heap replacement and a large performance benefit for me.

2. Occurs with heaps 1 and 5- which give the greatest benefit.

3. All hud elements, pop-up boxes, dialogue text etc, are unaffected.

4. Only the "Loading Area" message gets stuck. It doesn't stay stuck though, eventually it may disappear only to return later (when the message gets displayed again). Haven't figured out a sure way to trigger it's disappearance- it remains after accessing inventory (but is not superimposed on the inventory); sometimes it disappears after dialogue with a npc or area transition.

5. All other messages (which I like to have- only using NoMoreAnnoyingMessages light, which just eliminates loading area<- without this the whole Loading Area text gets stuck) such as: xxx equipped/harvested/selected, and pretty much any other message that doesn't occur in a pop-up box occur only intermittently. These are messages that show up in either the top left or top center of the screen. These are not subtitles, but messages that describe an event. Another example is the message that displays the vampire kill count of Light of Dawn (an OOO vampire killing sword).

I don't have this problem with FO3/FSR... maybe because FSR doesn't yet have heap replacement.
:twirl:
User avatar
Emma
 
Posts: 3287
Joined: Mon Aug 28, 2006 12:51 am

Post » Fri May 27, 2011 6:55 am

When I said I was also using No More Annoying Messages, I was confused. I was using a different mod that removed different stuff (the "Loading Area" messages never annoyed me; I never actually noticed them).

I just downloaded and enabled that mod and now... well, I can reproduce your screenshot with the message showing a single non-english character. But I get that message even with OSR disabled. And I can't get it to persist longer than about 2 seconds with or without heap replacement. I tried algorithms 1 & 5. The message itself looks likely to be an Oblivion bug relating to zero length game setting strings or printing zero length strings. The duration issue you describe is sounding like it only shows up when using both zero length setting strings and heap replacement - possibly a complication of whatever problem Oblivion has with zero length game setting strings.
User avatar
JUan Martinez
 
Posts: 3552
Joined: Tue Oct 16, 2007 7:12 am

Post » Fri May 27, 2011 9:29 am

That non-English character on the screen is why I ended up having to make that message nothing more than a period. Less noticeable and doesn't end up with problems with NULL strings. OSR has never done anything strange to it either.
User avatar
Ashley Campos
 
Posts: 3415
Joined: Fri Sep 22, 2006 9:03 pm

Post » Fri May 27, 2011 11:54 am

Does the non-english-character issue effect only that one string, or all game setting strings?
User avatar
Max Van Morrison
 
Posts: 3503
Joined: Sat Jul 07, 2007 4:48 pm

Post » Fri May 27, 2011 7:54 pm

I would assume it affects all game setting strings that are blanked out entirely. I only did the "loading area" message because it was the only one I found annoying enough to address.
User avatar
Setal Vara
 
Posts: 3390
Joined: Thu Nov 16, 2006 1:24 pm

Post » Fri May 27, 2011 4:34 pm

It's not really an OSR sort of thing, but I've found the code that prints "Loading Area..." and I can kill it, or selectively kill it only if the message is that non-english character that shows up in earthlings screenshot. Or forcibly set the message to an empty string. I could probably force all game setting strings with that value to an empty string.

I have not found the code that it setting them to that value in the first place though.
User avatar
Blessed DIVA
 
Posts: 3408
Joined: Thu Jul 13, 2006 12:09 am

Post » Fri May 27, 2011 11:36 am

Well to my horror... I disabled NoMoreAnnoyingMessages-Lite, rebuilt patch, removed OSR... and the issue is still occurring!! :facepalm: I'm quite certain that it first showed up with 3beta6- I had never used any message removers before and sought it out after seeing "loading area" stuck on my screen. http://img215.imageshack.us/img215/2650/screenshot96.jpg is an pic of the whole message stuck on screen.

As a testament to how useful OSR is for me I have never (~) loaded OB up without out it since first discovering it (earliest saved archive I have is actually 3beta5). I guess something else slipped in there and caused the problem. :shrug: If I figure out what has caused this I will surely report it...

It would be great if a more absolute alternative to NMAM was available- if you make it, I will use it. :)

Edit: Until now I assume that the "a" was simply a relic of the full message... but comparing the screens I see that it does not align with any of the a's.

Big thanks for trying to help!
User avatar
helliehexx
 
Posts: 3477
Joined: Fri Jun 30, 2006 7:45 pm

Post » Fri May 27, 2011 6:53 am

Is it normal when my FPS drops from 75 to 35 using this?
User avatar
Talitha Kukk
 
Posts: 3477
Joined: Sun Oct 08, 2006 1:14 am

Post » Fri May 27, 2011 5:42 pm

Are you talking minimum FPS, max FPS or average FPS? Stutter remover will "cap" your maximum FPS to around 30. However you should see an average close to that. From my understanding stutter remover actually slows oblivion down when its frame rate is to high to allow background processes additional cpu time. The "stutter" most people complain about is mostly caused by Oblivions massive shifts in frame rate from one second to the other. Forget the frame rate, how does Oblivion "feel" with it? I noticed an incredible increase in smoothness. It's not 100% stable, yet, but I can live with the occasional crash compared to the massive increase in play quality.
User avatar
Soph
 
Posts: 3499
Joined: Fri Oct 13, 2006 8:24 am

Post » Fri May 27, 2011 2:12 pm

OSR will by default reduce your maximum FPS to 30.3. Some recent alphas have been limiting FPS to the wrong number due to a bug, but I had thought that might be fixed now.

If you don't want your FPS limited at all then set MaximumFPS to 0 in the ini file.
User avatar
Tamika Jett
 
Posts: 3301
Joined: Wed Jun 06, 2007 3:44 am

Post » Fri May 27, 2011 6:14 am

Thank you. Its very smooth

But as stated before, this block of console text popped up when I didn't even press "~"
hook mode 1: using main GetTickCount callcrit_sec_mode 2MemoryHeap Optimization Mode 1: attempting to replace the Oblivion heap manager with FastMM4 / BorlndMM.dllHeap Initialization (268435456, 0)critical section b32b80 overriden to spin 1500critical section b32b80 overriden to spin 1500Special crit. sec. 1 (@ 31D5B30, thread D4C) spin 2000 -> 2000Special crit. sec. 2 (@ 31D5BC0, thread D4C) spin 1000 -> 1000Special crit. sec. 3 (@ 39E0F60, thread D4C) spin 4000 -> 4000initialize2() running in thread d4cSuppressing CRITICAL_SECTION Renderer+0x180 (38F6EE0)Special crit. sec. 4 (@ 1F657230, thread D4C) spin 4000 -> 4000Special crit. sec. 5 (@ 212E1A30, thread D4C) spin 4000 -> 4000MemoryHeap Dtor called


I'm using MemoryHeap 1, Windows 7 64 bit.
User avatar
Alexandra walker
 
Posts: 3441
Joined: Wed Sep 13, 2006 2:50 am

Post » Fri May 27, 2011 7:17 pm

OSR 3 generates console output that cannot be turned off. It should not cause the console to come up, though if you have debug text toggled on then the console will come up automatically any time anything prints to it, and OSR prints to it plenty. Most (but not all) of the text that OSR prints in its default configuration comes only in the first few seconds of a game.

edit: if you have problems with this console text, one solution would be to update to the latest work-in-progress versions of OSR (available at ftp://71.115.222.171/sr_Oblivion_Stutter_Remover.dll ). That one does not print to the console in its default configuration. However, there is no documentation available for that version yet.
User avatar
Trent Theriot
 
Posts: 3395
Joined: Sat Oct 13, 2007 3:37 am

Post » Fri May 27, 2011 5:40 pm

Interesting discussion, although I cannot contribute much since I am not a software programmer. Just a small clarification thing. The various heapmode one can set in the OSR .ini file, for a WinXP 32-bit machine, listed from slowest to fastest would go like this:

0 -> 3 -> 5 -> 1

Is this correct?

The debug mode and the one which says "quite good for Vista", they can safely ignored for WinXP, can they not?

I just realized my OSR version is months old, so I decided to pick the two latest OSR versions namely sr_Oblivion_Stutter_Remover.dll and _sr_Oblivion_Stutter_Remover.dll (with underscore). Which one is "safer", though? Reading from Tommy_H's post it seems heapmode 1 is the finest for XP.
User avatar
Matthew Warren
 
Posts: 3463
Joined: Fri Oct 19, 2007 11:37 pm

Post » Fri May 27, 2011 6:35 am

The one with no underscore is the latest alpha release of OSR 4, which uses the new ini file format. The one with the underscore... I'm not sure what it is. I think the one in the old_alpha directory was the last alpha of OSR 3, which might be the most well tested / stable OSR.

Heapmode 1 is likely to be slightly outperform 5/3 on XP. Not enough to notice though, for me anyway.
User avatar
Ridhwan Hemsome
 
Posts: 3501
Joined: Sun May 06, 2007 2:13 pm

Post » Fri May 27, 2011 6:57 pm

Reading from Tommy_H's post it seems heapmode 1 is the finest for XP.

Xtreme, you may have game stability issues with mode "1". At least I had, and apparently I was not the only one. If you have too, don't get upset or worry, just choose 3 or 5 then.

Happy New Year All!
User avatar
Amber Hubbard
 
Posts: 3537
Joined: Tue Dec 05, 2006 6:59 pm

Post » Fri May 27, 2011 6:22 pm

New Year to all!

Got any resolutions tommy?? ^_~


Im using the stutter remover but everything is at default, im not sure if i can get any better and didnt
want to risk changing anything so left it at normal
User avatar
Rachel Tyson
 
Posts: 3434
Joined: Sat Oct 07, 2006 4:42 pm

Post » Fri May 27, 2011 7:50 am

SkyRanger are there any ini changes that you would recommend for taking a bit of strain off the processor? I don't care much if it's buggy or questionable, I just would like to take some of the strain off my CPU which is holding me back a bit.

Ravin
User avatar
Matt Bee
 
Posts: 3441
Joined: Tue Jul 10, 2007 5:32 am

Post » Fri May 27, 2011 8:51 am

SkyRanger are there any ini changes that you would recommend for taking a bit of strain off the processor? I don't care much if it's buggy or questionable, I just would like to take some of the strain off my CPU which is holding me back a bit.

Ravin

turning on heap replacement: Helps me a lot, some people have stability issues.
On OSR3 that is changing iHeapMode from 0 to 1, 3, or 5. On OSR4 that is changing bReplaceHeap from 0 to 1, and possibly adjusting the settings in the Heap section.

suppressing critical section @ Renderer+0x80: Does not produce a noticable improvement for me, but logs suggest it does slightly reduce stutter slightly. Some users have no trouble with this, others get crashes on interior->exterior cell transitions IIRC.
On OSR 3 that is changing iCriticalSectionSuppression (or something like that) from 1 to 3. On OSR4 that is finding the line that says "CallerAddress = 0x70172A" and adding a line right after it that says "Mode = 5" (case may be important).

dynamically resizing hashtables: I haven't tested it much yet, but users report noticable FPS improvements. Unfortunately this has a tendency to screw up certain kinds of scripts if they run at the wrong time, and possibly other harmful side effects.
This is not supported in OSR 3. In OSR 4 you can turn this on by changing bHookHashtables from 0 to 1, and changing Hashtables\bAllowDynamicResizing from 0 to 1.

edit:
Im using the stutter remover but everything is at default, im not sure if i can get any better and didnt
want to risk changing anything so left it at normal
If you're using OSR 3 beta 6, change bFix64Hertz from 0 to 1, and consider changing iHeapMode from 0 to 1, 3, or 5.
If you're using OSR 4, consider changing bReplaceHeap from 0 to 1.
User avatar
Shaylee Shaw
 
Posts: 3457
Joined: Wed Feb 21, 2007 8:55 pm

Post » Fri May 27, 2011 4:55 pm

turning on heap replacement: Helps me a lot, some people have stability issues.
On OSR3 that is changing iHeapMode from 0 to 1, 3, or 5. On OSR4 that is changing bReplaceHeap from 0 to 1, and possibly adjusting the settings in the Heap section.

suppressing critical section @ Renderer+0x80: Does not produce a noticable improvement for me, but logs suggest it does slightly reduce stutter slightly. Some users have no trouble with this, others get crashes on interior->exterior cell transitions IIRC.
On OSR 3 that is changing iCriticalSectionSuppression (or something like that) from 1 to 3. On OSR4 that is finding the line that says "CallerAddress = 0x70172A" and adding a line right after it that says "Mode = 5" (case may be important).

dynamically resizing hashtables: I haven't tested it much yet, but users report noticable FPS improvements. Unfortunately this has a tendency to screw up certain kinds of scripts if they run at the wrong time, and possibly other harmful side effects.
This is not supported in OSR 3. In OSR 4 you can turn this on by changing bHookHashtables from 0 to 1, and changing Hashtables\bAllowDynamicResizing from 0 to 1.


Thanks very much. I'm using OSR 4. I shall try some of this out and post back later with results. Really thanks a lot for this plugin. This and quiet feet MAX are the only reason I can run this game with my processor. (gotta upgrade to a core 2 duo soon)

Ravin
User avatar
OJY
 
Posts: 3462
Joined: Wed May 30, 2007 3:11 pm

Post » Fri May 27, 2011 3:04 pm

When i change either of those settings the game doesnt start at all if i use OBSE.

Im now thinking i havent installed it correctly, i only have the sr_Oblivion_Stutter_Remover.dll with the sr_Oblivion_Stutter_Remover configuration setting file
and BorlndMM.dll (not sure if this file was actually a part of OSR)
I thought the above 2 (3) files were enough but im guessing i havent installed this properly at all.

Any help? I have problems installing stuff using OBSE, specially mods which require OBSE such as EE and F-INevOblivion mod.
I think FastExit2 is the only thing is installed properly (since it is just a single file in the plugin section)

Any help would be appreciated with how to install stuff correctly using OBSE.
It isnt like OMOD which is straightforward :S
User avatar
N3T4
 
Posts: 3428
Joined: Wed Aug 08, 2007 8:36 pm

Post » Fri May 27, 2011 5:54 pm

When i change either of those settings the game doesnt start at all if i use OBSE.

Im now thinking i havent installed it correctly, i only have the sr_Oblivion_Stutter_Remover.dll with the sr_Oblivion_Stutter_Remover configuration setting file
and BorlndMM.dll (not sure if this file was actually a part of OSR)
I thought the above 2 (3) files were enough but im guessing i havent installed this properly at all.

Any help? I have problems installing stuff using OBSE, specially mods which require OBSE such as EE and F-INevOblivion mod.
I think FastExit2 is the only thing is installed properly (since it is just a single file in the plugin section)

Any help would be appreciated with how to install stuff correctly using OBSE.
It isnt like OMOD which is straightforward :S
Nothing is as good as an omod.
All you really need is sr_Oblivion_Stutter_Remover.dll in \Oblivion\Data\obse\plugins
It will look for sr_Oblivion_Stutter_Remover.ini in that same folder, and if it doesn't find it then it will create it.
IF you set iHeapMode to 1 (or, on OSR4, bReplaceHeap to 1 and iHeapAlgorithm to 1) then it will look for \Oblivion\Data\obse\plugins\ComponentDLLs\BorlndMM.dll. If it fails to find it then it will refuse to let Oblivion start, and will leave an error message in \Oblivion\sr_Oblivion_Stutter_Remover.log.
My guess is that your problem is that you installed the OSR dll to the proper location but put the BorlandMM.dll in the wrong directory, meaning that OSR is working except for heap mode 1. If that is the case you can fix it by moving BorlandMM.dll back to its proper location, or by telling OSR to not require BorlandMM.dll by changing iHeapMode on OSR3 or iHeapAlgorithm on OSR4 to another heap (say, 5 instead of 1).
User avatar
Nany Smith
 
Posts: 3419
Joined: Sat Mar 17, 2007 5:36 pm

Post » Fri May 27, 2011 11:04 am

Thanks mate, it was that compartdlls folder i hadnt made. it works now, though it isnt too much of a difference.
i set iheapmode to 1 which is supposed to be the best for performance and changed the bfix64hertz to 1
There is still quite a bit of stuttering, usually in cities.

But i guess every little helps ^_~

Thanks for your help, been wondering how to get it to work for a while now
User avatar
Genocidal Cry
 
Posts: 3357
Joined: Fri Jun 22, 2007 10:02 pm

PreviousNext

Return to IV - Oblivion