Jump to content

Very low FPS in Operation: Anchorage


ShadowObscura

Recommended Posts

I'm playing Fallout 3 with a bunch of mods. My framerate in the Capital Wasteland is usually fine, but now I'm in the Anchorage simulation and I get extremely low framerates in the outdoor areas, with constant stuttering and occasional crashes. I've turned down the graphics quality to Medium, turned off AA and Anisotropic Filtering, and disabled HDR, but my FPS is still terrible. These are my specs:

 

Processor: AMD FX-4300 Quad-Core, at 3.8 GHz

Graphics card: Asus Radeon R9 270X

RAM: 8 GB

 

I do have the ini edited to run the game on only two cores, and I have Large Address Aware enabled for Fallout3.exe. I also have the Fallout Stutter Remover installed. It seems like with my computer I should be getting better performance than I am. Is there anything I can do to improve the framerate in Anchorage specifically?

Link to comment
Share on other sites

Use RadeonPro to limit the game to two cores; core 2 and 3. Your game may not scale beyond two threads, but Windows will still be splitting the tasks amongst your four cores. RadeonPro will remedy that.

 

If you are using VSync, use RadeonPro to enable Triple Buffering.

 

Paste your stutter remover ini file.

 

Disable your antivirus' realtime scanning when playing.

 

If your machine mostly plays Fallout 3 and Oblivion (or games that use two cores or fewer), you can disable one core for each Piledriver module in your bios (only have cores 0&2, 0&3, 1&3 or 1&2 enabled). This is because the Bulldozer/Piledriver/Steamroller processors splits each FPU into two; preventing this will allow for a nice performance gain.

 

List yer mods.

 

Close any background programs that aren't necessary (e.g, Overwolf, skype)

 

Does setting "Texture Filtering Quality" to performance, in the Catalyst Control Center, help at all?

Link to comment
Share on other sites

Okay, I've downloaded RadeonPro, set the game to only run on cores 2 and 3, and enabled Triple Buffering. Do I have to actually run the game from RadeonPro for its changes to take effect, or will it work through normal Steam?

 

I'm assuming this is the stutter remover ini you're looking for:

 

 

Master = {
_comment = You can turn on or off each distinct feature from here.
bManageFPS = 1
bHookCriticalSections = 1
bHookLightCriticalSections = 1
bHookHashtables = 1
bReplaceHeap = 0
bReplaceGetTickCount = 1
bFastExit = 1
bFlushLog = 1
iSchedulingResolution = 1
bReplaceRandom = 1
bExperimentalStuff = 0
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 = 0
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 = 0
fMaximumFPS = 0
fMinimumFPS = 15
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 = 3
iDefaultSpin = 1000
iStaggerLevel = 5
bEnableMessages = 1
bEnableProfiling = 0
}
LightCriticalSections = {
_comment =LCS stuff is like CS stuff, but with a Bethesda implementation. And inlined sometimes, so difficult for me to work with
bEnableProfiling = 0
bEnableMessages = 1
iDefaultMode = 3
iDefaultSpin = 1000
iStaggerLevel = 5
bFullHooks = 0
bUseOverrides = 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 = 6
bEnableProfiling = 0
iHeapSize = 250
bEnableMessages = 0
bZeroAllocations = 0
}
Hashtables = {
bUseOverrides = 1
bEnableMessages = 0
bEnableExtraMessages = 0
bEnableProfiling = 0
}
OverrideList = {
CriticalSection = {
CallerAddress = 0x828509
comment = Renderer+0x180, recommendation=suppress (mode 5)
Mode = 5
}
CriticalSection = {
CallerAddress = 0x8284F7
comment = Renderer+0x80, recommendation=fair or suppress (modes 2 or 5)
Mode = 2
}
CriticalSection = {
CallerAddress = 0x86E55A
comment = Mem2 CS, recommendation=stagger (mode 3)
Mode = 3
}
HashtableEarlyIndirect = {
comment =vtable 0x00dbd2d0
Address = 0x106DD14
OldSize = 131213
NewSize = 161213
}
HashtableEarly = {
comment =vtable 0x00ea96ac
Address = 0x0106A3D8
OldSize = 37
NewSize = 5701
}
HashtableEarly = {
comment =vtable 0x00ea970c
Address = 0x0106A3C8
OldSize = 37
NewSize = 59
}
HashtableEarly = {
comment =vtable 0x00dcd35c
Address = 0x00F4FA78
OldSize = 37
NewSize = 493
}
Hashtable = {
comment =caller 0x00447BC4
SizeAddress = 0x00448589
OldSize = 1001
NewSize = 1001
}
Hashtable = {
comment =caller 0x00456024
SizeAddress = 0x004560FB
OldSize = 4001
NewSize = 4001
}
Hashtable = {
comment =multipart 1/5, callers 0x00498A04, 0x00498A3A, 0x00498A6B, 0x00498AAC
SizeAddress = 0x004989D2
OldSize = 37
NewSize = 177
}
Hashtable = {
comment =multipart 2/5, size*4
SizeAddress = 0x004989D7
OldSize = 148
NewSize = 708
}
Hashtable = {
comment =multipart 3/5, size*4
SizeAddress = 0x00498A0D
OldSize = 148
NewSize = 708
}
Hashtable = {
comment =multipart 4/5, size*4
SizeAddress = 0x00498A3E
OldSize = 148
NewSize = 708
}
Hashtable = {
comment =multipart 5/5, size*4
SizeAddress = 0x00498A73
OldSize = 148
NewSize = 708
}
Hashtable = {
comment =multipart 1/2, caller 0x004c0b34, size*4
SizeAddress = 0x004C0B04
OldSize = 148
NewSize = 708
}
Hashtable = {
comment =multipart 2/2, caller 0x004c0b34
SizeAddress = 0x004C0B11
OldSize = 37
NewSize = 177
}
Hashtable = {
comment =multipart 1/4, callers 0x00505adc & 0x00505B29 & 00505BBA
SizeAddress = 0x00505AAA
OldSize = 37
NewSize = 471
}
Hashtable = {
comment =multipart 2/4, size*4
SizeAddress = 0x00505AAF
OldSize = 148
NewSize = 1884
}
Hashtable = {
comment =multipart 3/4, size*4
SizeAddress = 0x00505AED
OldSize = 148
NewSize = 1884
}
Hashtable = {
comment =multipart 4/4, size*4
SizeAddress = 0x00505B92
OldSize = 148
NewSize = 1884
}
Hashtable = {
comment =multipart 1/3, caller 0x0061228d
SizeAddress = 0x00612256
OldSize = 37
NewSize = 421
}
Hashtable = {
comment =multipart 2/3, caller 0x0061228d, size*4
SizeAddress = 0x0061225B
OldSize = 148
NewSize = 1684
}
Hashtable = {
comment =multipart 3/3, caller 0x0061228d, size*4
SizeAddress = 0x00612298
OldSize = 148
NewSize = 1684
}
Hashtable = {
comment =callers 0x006ce22c & 0x006ce25b
SizeAddress = 0x006CFBC7
OldSize = 5039
NewSize = 8333
}
Hashtable = {
comment =also callers 0x006ce22c & 0x006ce25b
SizeAddress = 0x006CFBF7
OldSize = 37
NewSize = 37
WordBits = 8
}
Hashtable = {
comment =also callers 0x006ce22c & 0x006ce25b
SizeAddress = 0x006D0A52
OldSize = 5039
NewSize = 8339
}
Hashtable = {
comment =multipart 1/2, caller 0x0082cec2, size*4
SizeAddress = 0x0082CE97
OldSize = 236
NewSize = 1652
}
Hashtable = {
comment =multipart 2/2, caller 0x0082cec2
SizeAddress = 0x0082CEA4
OldSize = 59
NewSize = 413
}
Hashtable = {
comment =multipart 1/2, caller 0x008a9364, size*4
SizeAddress = 0x008A9338
OldSize = 148
NewSize = 1084
}
Hashtable = {
comment =multipart 2/2, caller 0x008a9364
SizeAddress = 0x008A9346
OldSize = 37
NewSize = 271
}
}

 

 

Here's my load order:

 

 

Fallout3.esm
Anchorage.esm
ThePitt.esm
StreetLights.esm
BrokenSteel.esm
PointLookout.esm
Zeta.esm
Unofficial Fallout 3 Patch.esm
CRAFT.esm
CALIBR.esm
RH_IRONSIGHTS.esm
DCInteriors_ComboEdition.esm
busworld.esm
Point Lookout Reborn by Jcro25.esm
BelthansQuoVagis.esm
FO3 Wanderers Edition - Main File.esm
Enhanced Weather - Rain and Snow.esm
HT Unlimited Ammo.esp
DarNifiedUIF3.esp

Flora Overhaul.esp
BusworldV1.05d.esp
Busworld and DCInteriors compatibility.esp
BQV2DLC.esp
Tenpenny Tower Alternate Endings.esp
RH_IronSights_Basic_VanillaPlugin.esp
RH_IronSights_Basic_AnchoragePlugin.esp
RH_IronSights_Basic_PittPlugin.esp
RH_IronSights_Basic_BrokenSteelPlugin.esp
RH_IronSights_Basic_PointLookoutPlugin.esp
RH_IronSights_Basic_ZetaPlugin.esp
RH_IronSights_Pitt_NewRifleSights.esp
RH_IronSights_RemoveReticule.esp
RH_IronSights_Vanilla_NewWeapons.esp
RH_IronSights_PL_NewItems.esp
FO3 Wanderers Edition - Main File.esp
FO3 Wanderers Edition - DLC Anchorage.esp
FO3 Wanderers Edition - DLC The Pitt.esp
FO3 Wanderers Edition - DLC Broken Steel.esp
FO3 Wanderers Edition - DLC Point Lookout.esp
FO3 Wanderers Edition - DLC Mothership Zeta.esp
UUF3P - FWE Patch.esp
RH_FWE_Bridge.esp
JessiCompanion.esp
FollowersHireContinued-KarmaCheck-NoCharismaCheck-NoCountCheck.esp
Realistic Interior Lighting.esp
Fellout-Full.esp
Fellout-pipboylight.esp
megalight.esp
Enhanced Weather - Rain and Snow in Fallout.esp
Enhanced Weather - Weather Sounds in Interiors.esp
Enhanced Weather - Sneak Bonus during Storms.esp
Enhanced Weather - REBOOT.esp
Jeffrey's Merged Patch FO3.esp

 

 

Note that the Enhanced Weather files are present but unchecked at the moment because I don't want rain in the simulation.

 

I've done some of the performance tweaks you've suggested and have noticed a definite performance gain in Anchorage. Still not great, though. I'll look into the other things you mentioned as well.

Edited by ShadowObscura
Link to comment
Share on other sites

Forum tip: Put long lists, such as your copy/paste of the ini file, into a spoiler.

 

Replace the contents of your Stutter Remover.ini file with this. I capped the framerate at 30 using "fMaximumFPS = 30", enabled the heap replacement, disabled GetTickCount, enabled inject_ifpsclamp, and increased the memory for the heap replacement.

 

 



Master = {
_comment = You can turn on or off each distinct feature from here.
bManageFPS = 1
bHookCriticalSections = 1
bHookLightCriticalSections = 1
bHookHashtables = 1
bReplaceHeap = 1
bReplaceGetTickCount = 0
bFastExit = 1
bFlushLog = 1
iSchedulingResolution = 1
bReplaceRandom = 1
bExperimentalStuff = 0
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 = 0
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 = 30
fMinimumFPS = 15
iFPS_Report_Period = 15000
fExtraSleepPercent = 0.00
}
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 = 3
iDefaultSpin = 1000
iStaggerLevel = 5
bEnableMessages = 1
bEnableProfiling = 0
}
LightCriticalSections = {
_comment =LCS stuff is like CS stuff, but with a Bethesda implementation. And inlined sometimes, so difficult for me to work with
bEnableProfiling = 0
bEnableMessages = 1
iDefaultMode = 3
iDefaultSpin = 1000
iStaggerLevel = 5
bFullHooks = 0
bUseOverrides = 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 = 6
bEnableProfiling = 0
iHeapSize = 400
bEnableMessages = 0
bZeroAllocations = 0
}
Hashtables = {
bUseOverrides = 1
bEnableMessages = 0
bEnableExtraMessages = 0
bEnableProfiling = 0
}
OverrideList = {
CriticalSection = {
CallerAddress = 0x828509
comment = Renderer+0x180, recommendation=suppress (mode 5)
Mode = 5
}
CriticalSection = {
CallerAddress = 0x8284F7
comment = Renderer+0x80, recommendation=fair or suppress (modes 2 or 5)
Mode = 2
}
CriticalSection = {
CallerAddress = 0x86E55A
comment = Mem2 CS, recommendation=stagger (mode 3)
Mode = 3
}
HashtableEarlyIndirect = {
comment =vtable 0x00dbd2d0
Address = 0x106DD14
OldSize = 131213
NewSize = 161213
}
HashtableEarly = {
comment =vtable 0x00ea96ac
Address = 0x0106A3D8
OldSize = 37
NewSize = 5701
}
HashtableEarly = {
comment =vtable 0x00ea970c
Address = 0x0106A3C8
OldSize = 37
NewSize = 59
}
HashtableEarly = {
comment =vtable 0x00dcd35c
Address = 0x00F4FA78
OldSize = 37
NewSize = 493
}
Hashtable = {
comment =caller 0x00447BC4
SizeAddress = 0x00448589
OldSize = 1001
NewSize = 1001
}
Hashtable = {
comment =caller 0x00456024
SizeAddress = 0x004560FB
OldSize = 4001
NewSize = 4001
}
Hashtable = {
comment =multipart 1/5, callers 0x00498A04, 0x00498A3A, 0x00498A6B, 0x00498AAC
SizeAddress = 0x004989D2
OldSize = 37
NewSize = 177
}
Hashtable = {
comment =multipart 2/5, size*4
SizeAddress = 0x004989D7
OldSize = 148
NewSize = 708
}
Hashtable = {
comment =multipart 3/5, size*4
SizeAddress = 0x00498A0D
OldSize = 148
NewSize = 708
}
Hashtable = {
comment =multipart 4/5, size*4
SizeAddress = 0x00498A3E
OldSize = 148
NewSize = 708
}
Hashtable = {
comment =multipart 5/5, size*4
SizeAddress = 0x00498A73
OldSize = 148
NewSize = 708
}
Hashtable = {
comment =multipart 1/2, caller 0x004c0b34, size*4
SizeAddress = 0x004C0B04
OldSize = 148
NewSize = 708
}
Hashtable = {
comment =multipart 2/2, caller 0x004c0b34
SizeAddress = 0x004C0B11
OldSize = 37
NewSize = 177
}
Hashtable = {
comment =multipart 1/4, callers 0x00505adc & 0x00505B29 & 00505BBA
SizeAddress = 0x00505AAA
OldSize = 37
NewSize = 471
}
Hashtable = {
comment =multipart 2/4, size*4
SizeAddress = 0x00505AAF
OldSize = 148
NewSize = 1884
}
Hashtable = {
comment =multipart 3/4, size*4
SizeAddress = 0x00505AED
OldSize = 148
NewSize = 1884
}
Hashtable = {
comment =multipart 4/4, size*4
SizeAddress = 0x00505B92
OldSize = 148
NewSize = 1884
}
Hashtable = {
comment =multipart 1/3, caller 0x0061228d
SizeAddress = 0x00612256
OldSize = 37
NewSize = 421
}
Hashtable = {
comment =multipart 2/3, caller 0x0061228d, size*4
SizeAddress = 0x0061225B
OldSize = 148
NewSize = 1684
}
Hashtable = {
comment =multipart 3/3, caller 0x0061228d, size*4
SizeAddress = 0x00612298
OldSize = 148
NewSize = 1684
}
Hashtable = {
comment =callers 0x006ce22c & 0x006ce25b
SizeAddress = 0x006CFBC7
OldSize = 5039
NewSize = 8333
}
Hashtable = {
comment =also callers 0x006ce22c & 0x006ce25b
SizeAddress = 0x006CFBF7
OldSize = 37
NewSize = 37
WordBits = 8
}
Hashtable = {
comment =also callers 0x006ce22c & 0x006ce25b
SizeAddress = 0x006D0A52
OldSize = 5039
NewSize = 8339
}
Hashtable = {
comment =multipart 1/2, caller 0x0082cec2, size*4
SizeAddress = 0x0082CE97
OldSize = 236
NewSize = 1652
}
Hashtable = {
comment =multipart 2/2, caller 0x0082cec2
SizeAddress = 0x0082CEA4
OldSize = 59
NewSize = 413
}
Hashtable = {
comment =multipart 1/2, caller 0x008a9364, size*4
SizeAddress = 0x008A9338
OldSize = 148
NewSize = 1084
}
Hashtable = {
comment =multipart 2/2, caller 0x008a9364
SizeAddress = 0x008A9346
OldSize = 37
NewSize = 271
}
}

 

 

You don't need to run the game from RadeonPro. Just be sure to have RadeonPro open when you play the game.

 

What are your GPU and CPU temps when you're in the Capital Wasteland, and when you're in Operation Anchorage?

Link to comment
Share on other sites

Sorry about the long lists, I didn't know how to use spoiler tags when I first posted it. Fixed now.

 

I replaced the ini file with yours and am running the game with RadeonPro open. The average FPS seems to be higher, but there's a new problem. After loading the save, the game will now only run for a few seconds before crashing. I tried several times in a row and it always crashes after a few seconds.

 

How do I check my CPU and GPU temperatures while playing the game?

Link to comment
Share on other sites

 

I replaced the ini file with yours and am running the game with RadeonPro open. The average FPS seems to be higher, but there's a new problem. After loading the save, the game will now only run for a few seconds before crashing. I tried several times in a row and it always crashes after a few seconds.

 

Huh. Try disabling bReplaceHeap. If that doesn't work, revert to your old ini.

 

 

How do I check my CPU and GPU temperatures while playing the game?

 

Get Coretemp, and set it up to graph your GPU and CPU core temperatures.

Link to comment
Share on other sites

I tried disabling bReplaceHeap, but it just kept crashing every time I tried to play more than about a minute. I reverted to my previous ini.

 

When I was standing in the Capital Wasteland, my CPU temperature was about 28 degrees Celsius. In the Anchorage simulation, it went up to about 49 degrees. My GPU temperature seemed to stay at 38 degrees both in the CW and in Anchorage.

Link to comment
Share on other sites

I tried disabling bReplaceHeap, but it just kept crashing every time I tried to play more than about a minute. I reverted to my previous ini.

 

When I was standing in the Capital Wasteland, my CPU temperature was about 28 degrees Celsius. In the Anchorage simulation, it went up to about 49 degrees. My GPU temperature seemed to stay at 38 degrees both in the CW and in Anchorage.

 

That's odd. Sounds like there's a broken script. If you do a clean save in Operation Anchorage, does the framerate still tank?

Link to comment
Share on other sites

 

I tried disabling bReplaceHeap, but it just kept crashing every time I tried to play more than about a minute. I reverted to my previous ini.

 

When I was standing in the Capital Wasteland, my CPU temperature was about 28 degrees Celsius. In the Anchorage simulation, it went up to about 49 degrees. My GPU temperature seemed to stay at 38 degrees both in the CW and in Anchorage.

 

That's odd. Sounds like there's a broken script. If you do a clean save in Operation Anchorage, does the framerate still tank?

 

By "clean save", you mean start the game without any mods enabled, right? I tried that just now. With no mods active, the framerate in Anchorage is super smooth. High FPS all around. So it MUST be one of my mods that's causing it.

 

By the way, as an experiment, I unchecked "Run as administrator" for Fallout 3 and the FOSE loader, and now when I run it with RadeonPro I get a neat FPS counter that wasn't there before. Does running the game as administrator interfere with RadeonPro in any way?

Link to comment
Share on other sites

  • Recently Browsing   0 members

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