[RELz] [Beta] New Vegas Stutter Remover

Post » Sun May 29, 2011 1:59 am

4.1.25 is up. Slightly improved support for F:NV 1.2.0.352. Still has a ways to go though, haven't figured out why CS profiling is crashing yet.
User avatar
Roberta Obrien
 
Posts: 3499
Joined: Tue Oct 23, 2007 1:43 pm

Post » Sun May 29, 2011 1:55 am

is this always backward compatible? i havent updated to the latest yet. steam makes me paranoid.
User avatar
Miss Hayley
 
Posts: 3414
Joined: Tue Jun 27, 2006 2:31 am

Post » Sat May 28, 2011 9:11 pm

Yeah, it's backwards compatible.
User avatar
Katie Samuel
 
Posts: 3384
Joined: Tue Oct 10, 2006 5:20 am

Post » Sat May 28, 2011 10:40 pm

new version seems to be working much better than the old one. i am only stuttering on the strip now. where as i was lagging left and right before the update.

also, i just want to say thx for all the great work! you make these games much more playable. OSR is great, and NVSR is shaping up nicely as well.
User avatar
Nick Pryce
 
Posts: 3386
Joined: Sat Jul 14, 2007 8:36 pm

Post » Sat May 28, 2011 11:02 am

^qft. i play this maxed out with aa and af, and it microstutters. i got this mod, and it no longer happens. good stuff.
User avatar
Captian Caveman
 
Posts: 3410
Joined: Thu Sep 20, 2007 5:36 am

Post » Sun May 29, 2011 2:40 am

Apparently there is a new F:NV version, 1.3.0.452. It's not yet supported, I'll try to have preliminary support done tomorrow.
User avatar
Kyra
 
Posts: 3365
Joined: Mon Jan 29, 2007 8:24 am

Post » Sat May 28, 2011 9:39 pm

4.1.26 is up. If hopefully adds support for FNV 1.3.0.452.

It also attempts to fix the heap replacement option. If that works, it should fix the period of a few seconds when framerates drop while it's loading cells during exterior travel. This option is defaulting to off at the moment, change bReplaceHeap from 0 to 1 to enable it. At the moment it is only meaningful on FNV 1.3.0.452, not earlier versions.

Updated to 4.1.27 to fix a crash on startup.
Updated to 4.1.28 to fix another crash on startup issue.
User avatar
Brooks Hardison
 
Posts: 3410
Joined: Fri Sep 07, 2007 3:14 am

Post » Sat May 28, 2011 1:15 pm

I thought this thread was a good place to ask this, even if not directly NVSR related:

I'm getting an effect that is kind of the opposite of the slowdown when setting iFPSclamp to some high value:
New Vegas sometimes runs too fast (with vsync disabled), depending on FPS (e.g. looking at the wall of an interior, my character walks twice as fast as looking the other direction).

I am using "fresh" inis, iFPSclamp is set to 0.

I only bought this game a few days ago, so I'm not sure if it only happens since the latest patch (maybe they were trying to fix the 64 hz bug?).
This also happens with NVSR with max fps set to 60. The only way to fix it is enabling the 64 hz fix in NVSR and vsync (resulting in slight mouse lag, which is why I would prefer vsync off).

Does anyone else get these speed increases with vsync off and no 64hz fix?

(I'm on Win7 64bit, nvidia gtx 460 with the latest 270.61 drivers, yaddayadda).
User avatar
Neil
 
Posts: 3357
Joined: Sat Jul 14, 2007 5:08 am

Post » Sat May 28, 2011 8:16 pm

I thought this thread was a good place to ask this, even if not directly NVSR related:

I'm getting an effect that is kind of the opposite of the slowdown when setting iFPSclamp to some high value:
New Vegas sometimes runs too fast (with vsync disabled), depending on FPS (e.g. looking at the wall of an interior, my character walks twice as fast as looking the other direction).

I am using "fresh" inis, iFPSclamp is set to 0.

I only bought this game a few days ago, so I'm not sure if it only happens since the latest patch (maybe they were trying to fix the 64 hz bug?).
This also happens with NVSR with max fps set to 60. The only way to fix it is enabling the 64 hz fix in NVSR and vsync (resulting in slight mouse lag, which is why I would prefer vsync off).

Does anyone else get these speed increases with vsync off and no 64hz fix?

(I'm on Win7 64bit, nvidia gtx 460 with the latest 270.61 drivers, yaddayadda).


Yes - I was messing around with my settings a week ago - before the patch, with vsync forced off in the INI file and iFPSclamp set to either 30 or 60. Animations on NPCs and the player were running like twice as fast, time was running fast, etc. This was with FSR disabled. I was able to leave vsync off (iPresentInteval, I think), if I had FSR running and clamping FPS at 30.
But leave the iFPSclamp at 0! and let FSR clamp it.
User avatar
Jacob Phillips
 
Posts: 3430
Joined: Tue Aug 14, 2007 9:46 am

Post » Sat May 28, 2011 9:47 pm

If iFPSclamp is non-zero then you will see slow-motion if your FPS is less than iFPSclamp and fast-forward if your FPS is greater than iFPSclamp.

However, rotux said that his iFPSclamp was set to 0.
User avatar
XPidgex Jefferson
 
Posts: 3398
Joined: Fri Sep 08, 2006 4:39 pm

Post » Sat May 28, 2011 7:29 pm

Yes, it's basically like iFPSclamp is forced to 60 (or 64, which seems to be actual default fps), even though it is set to zero in each ini.
I don't get slowdowns when fps go below 60 however, so that probably isn't really true.

I posted in this thread hoping some setting in NVSR could help me, but as I said, setting max fps does not help (I guess because it only affects rendered frames, not actual engine timing).
User avatar
P PoLlo
 
Posts: 3408
Joined: Wed Oct 31, 2007 10:05 am

Post » Sun May 29, 2011 2:35 am

4.1.26 is up. If hopefully adds support for FNV 1.3.0.452.

It also attempts to fix the heap replacement option. If that works, it should fix the period of a few seconds when framerates drop while it's loading cells during exterior travel. This option is defaulting to off at the moment, change bReplaceHeap from 0 to 1 to enable it. At the moment it is only meaningful on FNV 1.3.0.452, not earlier versions.

Updated to 4.1.27 to fix a crash on startup.
Updated to 4.1.28 to fix another crash on startup issue.


Thanks for your great utility. It definitely DOES make a difference.

Regarding "changing bReplaceHeap from 0 to 1", to be clear, I'm going into the ini that's generated within the "NVSE\Plugins folder" and changing from "0" to "1". When I do so, the game repeatedly crashes after about 60 seconds or so. Ended up changing it back to "0". Should be noted I was attempting the "0" to "1" change w/ version 4.1.28. Perhaps the change was only intended w/ v4.1.26?

It's amazing (or frustrating more accurately) to me that even with my considerably robust system (2x's Radeon HD 6970 in CrossFire, i7 920 overclocked, SSD, 6 GB ram, etc) that I still get MAJOR framerate drops into the single digits, though only between cells. If I stay within a cell, framerates run at a consistent 55-60 (or 30 w/ NVSR). And all this while running Purge Cell Buffers and Better Game Performance in addition to NVSR and tweaking the ini's w/ new Vegas Configator. Only thing I can't seem to get to work is 4GB Enabler. I've even tried running the one from post#38 of the http://www.gamesas.com/index.php?/topic/1168320-beta-new-vegas-script-extender-nvse-v1/page__st__20, but to no avail. Get error message when attempting to launch=/

If anyone has any suggestions on what I might try to increase performance further, well, I'd certainly be open and appreciative=)
User avatar
M!KkI
 
Posts: 3401
Joined: Sun Jul 16, 2006 7:50 am

Post » Sat May 28, 2011 2:38 pm

There are other ways to improve performance, but the low FPS on exterior cell grid load is fundamentally a problem with their heap and can only be fixed by either replacing their heap or disabling the multithreaded aspects of cell transitions (which probably isn't very desirable...) by modifying the games ini file. I'll probably make a few more tweaks to the heap replacement code in an effort to get it working better on FO3 & FNV, but I'm not feeling very optimistic.

You can do other things to improve F:NV performance however... the easiest would be to go in to the NVSR ini and find the critical section entry in to the override list at the end for Renderer+0x80 for version 1.3.0.452 and changing its mode from 2 to 5, though that can cause instability for some users. On *some* hardware or OSes changing iDefaultMode in the CriticalSections section from 2 to 3 might help, or changing iDefaultSpin in the same section to a different value might help, but that doesn't help me on my current CPU & OS on Oblivion so I'm generally not optimistic there. I might be able to figure out some more tweaks to make from an NVSR log file with hashtable profiling enabled or critical section profiling enabled (enabling profiling from the Hashtables section or the CriticalSections section of the NVSR ini), but the hashtables one is believed to crash on recent versions of F:NV for unknown reasons and I don't anticipate any gain for the typical user from addition CriticalSections overrides - I already have the most important critical sections handled the hard way.
User avatar
Maya Maya
 
Posts: 3511
Joined: Wed Jul 05, 2006 7:35 pm

Post » Sun May 29, 2011 12:18 am

@Theleb-Ka: Assuming that there is no difference in the INI settings (between Oblivion and FO3) for heap replacement, try altering "iHeapAlgorithm" to 1, 4 or 6 in the OSR ini. If you can run without a crash, alter "iHeapSize", if "iHeapAlgorithm" is set to 4 or 6, to 1000 (or 1024 if you're picky about "power of 2"). Also, with your setup, there might be more stuttering if "bManageFPS" is enabled...in my case there is less stutter on stutter with this disabled.

Ther rest of the performance tuning is just as SR-1 describes...trial and error in the Critical Sections. I personally get the best performance with the following INI, note that I do not guarantee that these settings will work:

Spoiler
Master = {
bManageFPS = 0
bHookCriticalSections = 1
bHookHashtables = 1
bReplaceHeap = 1
bLogToConsole = 0
bFix64Hertz = 0
bExtraProfiling = 0
bFlushLog = 1
iSchedulingResolution = 1
bReplaceRandom = 1
bExperimentalStuff = 1
iMainHookPoint = 1
...
FPS_Management = {
bAllowSlowMotion = 0
MaximumFPS = 30
MinimumFPS = 10
iSmoothFrames = 0
iSmoothMode = 3
iSleepExtra = 0
iFPS_Frequency = 4000
iSchedulingParanoia = 1
iHardMaxFrametime = 400
...
Heap = {
_comment = Algorithms:
_comment = 1=FastMM4(Borlnd)
_comment = 2=Microsoft
_comment = 3=Simpleheap1
_comment = 4=TBBMalloc(Intel)
_comment = 5=Threadedheap2
_comment = 6=Threadedheap3
_comment = 8=tcmalloc(Google)
iHeapAlgorithm = 6
bEnableProfiling = 0
iHeapSize = 1000
bEnableMessages = 0
iGenericFreeDelay = 0
bZeroAllocations = 0
Hashtables = {
bAllowDynamicResizing = 0
bUseOverrides = 1
bEnableProfiling = 0
bEnableMessages = 0
bEnableExtraMessages = 0
iHashtableResizeScale1 = 2
iHashtableResizeScale2 = 4
iHashtableResizeDelay = 20
}
OverrideList = {
CriticalSection = {
CallerAddress = 0x701748
comment = Renderer+0x180, (mode 5)
Mode = 5
}
CriticalSection = {
ObjectAddress = 0xB32B80
comment = MemoryHeap CS, (mode 3)
Mode = 6
}
CriticalSection = {
CallerAddress = 0x70172A
comment = Renderer+0x80, (mode 2)
Mode = 3
}
CriticalSection = {
ObjectAddress = 0xB3FA00
comment = Unknown4, (mode 3)
Mode = 2
}
CriticalSection = {
ObjectAddress = 0xB33800
comment = BaseExtraList, (mode 3)
Mode = 2
}
CriticalSection = {
ObjectAddress = 0xB3F600
comment = Unknown (mode 3)
Mode = 2
}
CriticalSection = {
ObjectAddress = 0xB3FC00
comment = Unknown (mode 2)
Mode = 2
}
CriticalSection = {
ObjectAddress = 0xB39C00
comment = Unknown (mode 2)
Mode = 2
}

I run on a dual core Opteron (5 year old technology) 2gb of memory and a single 9800gt (1gb vram). I get 25-45 (interior-exterior) averages using a multitude of hi res texture packs. I do not have FO3, however, I believe there is not too much difference in INI settings for OSR and NVSR. I doubt that many others will get the same performance as I get with these settings, however, in posting I hope to promote individual experimentation.

SkyRanger-1: Just in case you haven't been to OSR thread lately...any chance of OBGE-SR? Or maybe peek at this OBSE plugin, there has to be a better way to hook it. I imagine itsa total re-code to speed it up, but you are the expert there...:P Thanks either way, you are THE stutter-removing-ninja! :toughninja:
User avatar
Chloe Yarnall
 
Posts: 3461
Joined: Sun Oct 08, 2006 3:26 am

Post » Sat May 28, 2011 9:26 pm

@Theleb-Ka: Assuming that there is no difference in the INI settings (between Oblivion and FO3) for heap replacement, try altering "iHeapAlgorithm" to 1, 4 or 6 in the OSR ini.

The version of the heap hooks needed on FO3 & FNV is slightly different, and currently should, I believe, only work on heap algorithms 6 & 3. I should document that in the ini or somewhere. I can enable that for a few more algorithms, but like half the algorithms there simply can't work with the variations of the heap hooks that I think FO3 & FNV require.

SkyRanger-1: Just in case you haven't been to OSR thread lately...any chance of OBGE-SR? Or maybe peek at this OBSE plugin, there has to be a better way to hook it. I imagine itsa total re-code to speed it up, but you are the expert there...:P Thanks either way, you are THE stutter-removing-ninja! :toughninja:

The majority of the vanilla games time is spent on grapics on my computer... I tracked down where the time was going, but once it got past the basic scene culling the graphics code got fairly complicated and no single thing seemed to be taking up the time. And I don't know a lot about graphics. And I've never looked at OBGE, though I did briefly look at the Pluggy graphics hooks when they were producing crashes.
User avatar
Shaylee Shaw
 
Posts: 3457
Joined: Wed Feb 21, 2007 8:55 pm

Previous

Return to Fallout: New Vegas