Oblivion And Memory Usage

Post » Tue May 03, 2011 12:25 am

When using LAA it's generally recommended to change iHeapSize to a larger value, though I think not doing so should never be worse than having heap replacement disabled. Also, some of the heap algorithms are rather different than others, and some were not written by me... I don't really know what FastMM4 will do with LAA, my first guess is that it would be fine but I haven't checked.
User avatar
Pants
 
Posts: 3440
Joined: Tue Jun 27, 2006 4:34 am

Post » Mon May 02, 2011 9:45 pm

When using LAA it's generally recommended to change iHeapSize to a larger value, though I think not doing so should never be worse than having heap replacement disabled. Also, some of the heap algorithms are rather different than others, and some were not written by me... I don't really know what FastMM4 will do with LAA, my first guess is that it would be fine but I haven't checked.


So I reinstalled OBSR, and I'm not having any problems. I'm willing to bet I inadvertantly changed something that made the thing go critically haywire.
User avatar
RUby DIaz
 
Posts: 3383
Joined: Wed Nov 29, 2006 8:18 am

Post » Tue May 03, 2011 12:55 am

So I reinstalled OBSR, and I'm not having any problems. I'm willing to bet I inadvertantly changed something that made the thing go critically haywire.


Sorry for the weird no response here.... For some strange reason my Firefox browser won't remember what I type when sending messages. I tried IE with the same results. I'm now user Safari and it seems to be fine.
I have no clue how this all started happening...

Only thing I can think of is that I access this site from an iPhone that uses Safari. Very strange. :blink:
User avatar
LuBiE LoU
 
Posts: 3391
Joined: Sun Jun 18, 2006 4:43 pm

Post » Tue May 03, 2011 11:28 am

Given Oblivions finicky behavior around memory allocation, it's not clear what changes to memory behavior would or wouldn't cause it to start crashing under whatever circumstances.
User avatar
Kelsey Hall
 
Posts: 3355
Joined: Sat Dec 16, 2006 8:10 pm

Post » Tue May 03, 2011 5:58 am

So I reinstalled OBSR, and I'm not having any problems. I'm willing to bet I inadvertantly changed something that made the thing go critically haywire.
Hmm, I haven't noticed any incompatibilities w/ OSR myself. But I haven't experimented with enough OSR .ini changes since I started using the LAA patch.

@SkyRanger-1 - I could make a note to try out different heap sizes w/ dynamic resizing etc. to see if anything breaks. Any other suggestions you think I should test?

On another note. I was experimenting w/ a 256mb ATi 3450 and 4gb of ram on Win7 32-bit w/out LAA enabled. I was trying to see how far I could push VRAM usage. Well, so far I've been able to get 850mb of textures loaded into VRAM. No crashing n cell changes or when running a PCB command so far. I'll keep trying to push the envolope. I should be able to reach up to 1600mb VRAM since that is what windows reports as the available graphics memory. It actually ran smooth considering how system ram was being usd for VRAM!
User avatar
Laura Mclean
 
Posts: 3471
Joined: Mon Oct 30, 2006 12:15 pm

Post » Tue May 03, 2011 2:40 am

Has anyone else tried using the setting iPreemptivelyUnloadCells? I know a lot of people used to say that they actually lose performance using it but I've been using it for a while and I notice the game is much more stable and less stuttery.
User avatar
lilmissparty
 
Posts: 3469
Joined: Sun Jul 23, 2006 7:51 pm

Post » Tue May 03, 2011 11:25 am

Hmm, I haven't noticed any incompatibilities w/ OSR myself. But I haven't experimented with enough OSR .ini changes since I started using the LAA patch.

@SkyRanger-1 - I could make a note to try out different heap sizes w/ dynamic resizing etc. to see if anything breaks. Any other suggestions you think I should test?

On another note. I was experimenting w/ a 256mb ATi 3450 and 4gb of ram on Win7 32-bit w/out LAA enabled. I was trying to see how far I could push VRAM usage. Well, so far I've been able to get 850mb of textures loaded into VRAM. No crashing n cell changes or when running a PCB command so far. I'll keep trying to push the envolope. I should be able to reach up to 1600mb VRAM since that is what windows reports as the available graphics memory. It actually ran smooth considering how system ram was being usd for VRAM!


I would be very interested to see if you can duplicate your VRAM tests with that card on XP, and Vista. I know Vista and 7 handle memory differently than XP, and am curious if the new method is indeed "better".
User avatar
steve brewin
 
Posts: 3411
Joined: Thu Jun 21, 2007 7:17 am

Post » Tue May 03, 2011 12:29 am

any advnacements on the 1.2 GB crash?
User avatar
Eire Charlotta
 
Posts: 3394
Joined: Thu Nov 09, 2006 6:00 pm

Post » Mon May 02, 2011 8:26 pm

Has anyone else tried using the setting iPreemptivelyUnloadCells? I know a lot of people used to say that they actually lose performance using it but I've been using it for a while and I notice the game is much more stable and less stuttery.
I haven't used that tweak in ages... I'm sure others could give better insight, but I will give it a try to see if if helps any. It would be great to have additional stability when switching cells. But I'm not sure exactly what that command does.

I would be very interested to see if you can duplicate your VRAM tests with that card on XP, and Vista. I know Vista and 7 handle memory differently than XP, and am curious if the new method is indeed "better".
I share your interest HeyYou. I'll do an XP test next to see how it differs. I still want to try and get higher VRAM out of this 256mb card on Win7 first. Should know more by the end of the day.

any advnacements on the 1.2 GB crash?
Sorry, I thought you saw MrFurious's last post in regards to that. See below...

I've just finished another test, with most other applications turned of. Memory usage without Oblivion was about 30%, instead of 50%.
I'm using Windows 7 64-bit, and I should note that I'm also using OSR, Streamline and weOCPS.

This time Oblivion's memory usage went up to about 1.6GB without any problems. I've even had a total memory usage of 96%. I couldn't get memory usage above 1.3 GB or 85% total without PlaceAtMe, as something clearly started purging it. When I spawned about 40 copies of myself, I tried to add 1000 copies at once... Crash. If I didn't do that, I might've been able to get very close to 100% total memory usage or Oblivion's memory ceiling.


@jhondidfool - What version of Windows are you running?
User avatar
Josh Sabatini
 
Posts: 3445
Joined: Wed Nov 14, 2007 9:47 pm

Post » Tue May 03, 2011 12:48 am

Windows 7 enterprise Edition
User avatar
Jarrett Willis
 
Posts: 3409
Joined: Thu Jul 19, 2007 6:01 pm

Post » Tue May 03, 2011 6:50 am

Windows 7 enterprise Edition


I Assume that is a 64-bit OS. And you are using 2gb of memory for it, correct?

Well, I don't have that specific version of Win7 to test. My guess is that each
version of Win7 (from home all the way up to enterprise) uses a bit more
ram to run with the more features that are added. Enterprise contains the most
features. I run Ultimate at home and out of the box, it uses around 900mb of ram.

The official Win7 ram minimum requirements are... 1 GB of RAM (32-bit) / 2 GB RAM (64-bit)

I would say that you aren't able to reach the 1.6gb - 1.8gb memory ceiling for Oblivion because
your OS requires quite a bit of ram to run it. Probably 900mb to 1gb just to run it.

Unless you do a heavy clean up on your OS by disabling services etc, you aren't going to
be able to reach that memory ceiling stated above.

Try looking at this site... http://www.blackviper.com/Windows_7/servicecfg.htm
Try doing a through cleaning of services etc... If you still can't hit the memory ceiling, consider buying additional ram.
User avatar
Isaac Saetern
 
Posts: 3432
Joined: Mon Jun 25, 2007 6:46 pm

Post » Mon May 02, 2011 11:25 pm

I've already ordered a 4GB module :P
But it's not it. I've tested and memory gets just to 80, sometimes 87%, that is when OB is around 1.2GB, then crashes.
User avatar
Gemma Archer
 
Posts: 3492
Joined: Sun Jul 16, 2006 12:02 am

Post » Tue May 03, 2011 5:07 am

I've already ordered a 4GB module :P
But it's not it. I've tested and memory gets just to 80, sometimes 87%, that is when OB is around 1.2GB, then crashes.


It's still possible your CTD at 1.2gb isn't related to a memory ceiling. 80 - 87% isn't exactly a consistent number.

Suggestions... Make sure you aren't using a PCB mod. If you have OSR, remove it temporarily as it will slow
your memory fill rate. Basically, get Oblivion down as close to Vanilla as you can.

When you test, it is best to try and remain in a single cell. Try doing what others have done and create many clones
of your character while watching your Oblivion.exe memory process increase. Staying in a single cell helps
reduce the likely hood of any other mods interfering with your test. Also, when you switch cells, memory that is
cached is typically unloaded in order to make room for the new cell. So, it will take longer to reach your memory ceiling
if you are moving from cell to cell. Try just staying in the water front just across the bridge from the center tower.
That's a good cell to test in.

Make sure that you have as much background applications stopped or disabled as you can. The only things that should
be running during the test is Oblivion and your task manager. Please don;t base your total memory as a means of
what Oblivions process memory is. Just stick to watching the Oblivion process.

YOu can even go as far as disabling your explorer.exe from the task manager before loading Oblivion. YOu can run explorer.exe
from the taskmanager to bring it back once you are done testing. Oh, and be sure you are in window mode.

-------------------------------------------------------------------------------------------------------------------------
UPDATE - 256mb ATi 3450 w/ 4gb of ram on Win7 32-bit no LAA - After trying to push the VRAM as far as I could, I finally hit the
memory ceiling for Oblivion.exe - The total VRAM reached 975mb and the total Oblivion.exe memory reached 1.75gb This confirms
that VRAM is working completely separate from the Oblivion.exe memory process. Others already knew this, and I myself suspected it
but I'm the type to want to see something first hand before I just decide if it's correct or not. Interestingly, The automatic memory cache
purge ran right at those amounts listed above. Most likely triggered by the 1.75gb of ram use on Oblivion.exe. I wonder if this will happen
in the XP test on the same hardware? Another interesting fact... I never crashed during cell switching or running any PCB commands. Although,
the lag and stutter became unbearable. Oh and another note, not sure if I've mentioned this before. When the auto cache purge kicks in,
it purges both the VRAM and Oblivion.exe process memory usage.
User avatar
james reed
 
Posts: 3371
Joined: Tue Sep 18, 2007 12:18 am

Post » Tue May 03, 2011 8:50 am

I would be very interested to see if you can duplicate your VRAM tests with that card on XP, and Vista. I know Vista and 7 handle memory differently than XP, and am curious if the new method is indeed "better".


So, I got around to testing this today. Yes, XP 32-bit does allow system ram to be used as VRAM once the dedicated VRAM runs out.
I was under the impression that this feature was only developed since Vista. Apparently I was wrong. Just to note, this test was on the same components as the last test. 256mb ATi 3450 w/ 4gb of ram on WinXP 32-bit no LAA.

I hadn't used actor shadows for a long time, but decided to turn them on. I had ishadowmapresolution set for 4096 in the Oblivion.ini, MAN! Talk about eating away texture memory. After adding 5 external actor shadows with self shadows enabled and shadow filter on high, the texture memory usage jumped from 494mb to 820mb! So, looks like I found the easiest way to boost VRAM usage without dramatically increasing the Oblivion.exe memory process.
Oblivion.exe on this test only hit 700mb. I was down to 2-3 FPS with those 5 actor shadows enabled. As soon as I would add one more for a total of 6 the game would always crash. So this is a good example of a crash that is caused by simply over stressing a video card. My guess is the FPS would of been zeroed out when trying to add that 6th actor shadow.

UPDATE - WOW! So I extended the test a bit more by adding a bunch of intense mods... Basically the same list from the VRAM video test on the OP.
texture memory usage on that 256mb vid card is now 1250mb!!! I wan to try and hit the 1600mb ceiling, but I just don't think it can handle it. Cell switching and PCB commands are working fine! I have no idea why they were giving my rig at home so many problems when I was maxed out at 1500mb VRAM?
Anyways, I will follow up if I can hit that 1600mb ceiling.

Well, I probably could of pushed it a bit further, but I needed to get some work done. So here is how far I got...
http://img40.imagefra.me/img/img40/2/2/26/far327/f_1as4xh2cecdm_1b6c228.jpg Again, no CTD while in game, cell changing was fine, as well as running PCB commands. Only crash I had trying all of this out was the standard error message when exiting the game.
User avatar
carla
 
Posts: 3345
Joined: Wed Aug 23, 2006 8:36 am

Post » Tue May 03, 2011 3:47 am

Has anyone else tried using the setting iPreemptivelyUnloadCells? I know a lot of people used to say that they actually lose performance using it but I've been using it for a while and I notice the game is much more stable and less stuttery.


I haven't used that tweak in ages... I'm sure others could give better insight, but I will give it a try to see if if helps any. It would be great to have additional stability when switching cells. But I'm not sure exactly what that command does.


I don't think I've ever personally tried it but I've seen it mentioned that you shouldn't turn that on if you're using Streamline for buffer purging because that ini setting tells Oblivion to purge data as well. Though I don't think anyone knows exactly when it purges the data.

I don't think it would be too much of an issue with FPS, but it will increase loading times since it's unloading cell data from memory.
User avatar
TASTY TRACY
 
Posts: 3282
Joined: Thu Jun 22, 2006 7:11 pm

Post » Tue May 03, 2011 8:13 am

Other things of intesest:

There appears to be a console command or script command or something named "RunMemoryPass" with the description of "Runs a cleanup memory pass". It does in fact appear to do a free-up-some-memory pass, though it's not clear to me if it does the casual version or the desperate version of that.

There also appears to be a command of some sort named "WasteMemory", with the description of "Allocates some memory (in MB)". It's not clear if it takes this off the Oblivion heap for small allocations or asks windows for the memory... at first glance it appears to do both.
User avatar
Kit Marsden
 
Posts: 3467
Joined: Thu Jul 19, 2007 2:19 pm

Post » Mon May 02, 2011 10:42 pm

Other things of intesest:

There appears to be a console command or script command or something named "RunMemoryPass" with the description of "Runs a cleanup memory pass". It does in fact appear to do a free-up-some-memory pass, though it's not clear to me if it does the casual version or the desperate version of that.

There also appears to be a command of some sort named "WasteMemory", with the description of "Allocates some memory (in MB)". It's not clear if it takes this off the Oblivion heap for small allocations or asks windows for the memory... at first glance it appears to do both.


Hmm, so these are commands for the Oblivion console? What is the difference between casual version and desperate version?
User avatar
Blessed DIVA
 
Posts: 3408
Joined: Thu Jul 13, 2006 12:09 am

Post » Tue May 03, 2011 10:05 am

I don't know exactly what sort of commands they are, I haven't looked at command much. But they have names, descriptions, and implementations.

Oblivion has a sequence of steps that it takes when it wants more more memory. Some of these steps don't actually do anything. IIRC there are 17 steps total. Some it does only when desperate for more memory, some it does more often. IIRC some of them may involve deleting commonly used graphics (GUI elements?) that it might be able to reload from disk on demand later if it wanted to. Dunno what all is involved in the various steps. OSR heap replacement may or may not prevent some of them from working properly. Generally Oblivions code for dealing with desperate memory situations is extremely buggy anyway, so if it gets to the desperate stuff it's probably already too late.
User avatar
Alex Blacke
 
Posts: 3460
Joined: Sun Feb 18, 2007 10:46 pm

Post » Tue May 03, 2011 2:19 am

Was just browsing through the DirectX sdk(looking for some documentation on the pipeline, damn I don't get why shaders are needed for basic stuff now, I'm getting old) and there was a little article on "Compatibility of 32-Bit Applications on 64-Bit Platforms" and in this article there was a part that describe accurately the behavior of the LAA patch on the different plateforms:

32-bit applications on 32-bit platforms can address up to 2 GB32-bit applications built with the /LARGEADDRESSAWARE:YES linker flag on 32-bit Windows XP or Windows Server 2003 with the special /3gb boot option can address up to 3 GB. This constrains the kernel to only 1 GB which may cause some drivers and/or services to fail.32-bit applications built with the /LARGEADDRESSAWARE:YES linker flag on the 32-bit editions of Windows Vista, Windows Server 2008, and Windows 7 can address memory up to the number specified by the boot configuration data (BCD) element IncreaseUserVa. IncreaseUserVa can have a value ranging from 2048, the default, to 3072 (which matches the amount of memory configured by the /3gb boot option on Windows XP). The remainder of 4 GB is allocated to the kernel and can result in failing driver and service configurations.For more information about BCD, see Boot Configuration Data on MSDN.32-bit applications on 64-bit platforms can address up to 2 GB, or up to 4 GB with the /LARGEADDRESSAWARE:YES linker flag.64-bit applications use 43 bits for addressing, which provides 8 TB of virtual address for applications and 8 TB reserved for the kernel.

User avatar
Sudah mati ini Keparat
 
Posts: 3605
Joined: Mon Jul 23, 2007 6:14 pm

Post » Tue May 03, 2011 10:16 am

In my best Bill Gates voice: "Who would ever need 8TB of memory?" :hehe:
User avatar
Laura Richards
 
Posts: 3468
Joined: Mon Aug 28, 2006 4:42 am

Post » Tue May 03, 2011 10:30 am

In my best Bill Gates voice: "Who would ever need 8TB of memory?" :hehe:



Raises Hand.....OH Oh Oh Oh (Arnoald Horshack).........I know.....Oblivion!~!!!!!!




Lol...I have a screen shot from last nights play session for me.....@ 1:20:30 Oblivion crashed on me and process said .......3,806,776


So from now on I am tracking the time and Memory use....Its not hard cause when Oblivion crashes you have to bring up task manager any way to end task So i just Screen shot and that shows me the EXE Time and memory.

Have 4 so far and all were past the hour mark ...mem for first 2 were around 2.8 last 2 were like the # above Around 3.8 .

Seams MOST of my Crashes are of this type>>>> Everything is going Good then it Locks with a Repeting Sound.....Tic Tic Tic Tic T Closer to ...Ting ting ting ting There is A sound in my moded Oblivion and That is From Oblivion XP(the Level Mod) the sound when you kill and get experiance. So im thinking The 2 are related and Gonna Test without that mod see whats up. But it dont happen when i get a kill and the sound happens, its Just while walking . But then again you get experiance for discovering a new area?

Oh and P.S. that hour and 20 min up there was ALL Out doors! With Many many FCOM Fights! and probably only lost the last 5 min. I SAVE ALOT!!

Lol.
User avatar
Mark Hepworth
 
Posts: 3490
Joined: Wed Jul 11, 2007 1:51 pm

Post » Tue May 03, 2011 4:35 am

There appears to be a console command or script command or something named "RunMemoryPass" with the description of "Runs a cleanup memory pass". It does in fact appear to do a free-up-some-memory pass, though it's not clear to me if it does the casual version or the desperate version of that.

I made a little experimental .esp with this very simple (OBSE) questscript to test RunMemoryPass. I had it running for months, without seeing much difference. On the other hand, it doesn't harm the game either. It's very crude, it purges or is supposed to purge every few minutes, so in some cases where the engine has to work hard it can halt the game for a second. Not often enough to disable it though.

scn zzzPurgescriptshort init			; flagshort PTimerfloat fQuestDelayTimebegin gamemodeif init == 0	Set fQuestDelayTime to 10	Set PTimer to 300	Set init to 1endifSet PTimer to (PTimer - GetSecondsPassed)if PTimer <0	con_RunMemoryPass 1	message "Mem purged."	Set PTimer to 300endifend

User avatar
Brian LeHury
 
Posts: 3416
Joined: Tue May 22, 2007 6:54 am

Post » Tue May 03, 2011 2:24 am

@DarklyDreaming - Good find on that article. That pretty much confirms what Scanti was saying earlier. I will most likely take that quote and add it to the OP. Obviously, it's not the most stable route to go though. RAM is cheap these days. Instead of risking making your OS unstable, may as well throw down the extra $50 for 2 more gb of ram. The money pays for the headache medicine you would probably end up buying anyway.

@camaro-69-327 - The repeating sound crash doesn't sound related to a memory ceiling type crash. That sounds more like a hardware failure crash or driver issue. You mentioned in the past that you suspected you might have a video card and sound codec issue. I wonder if your 2.8gb mem crashes are due to one of those? So far, any memory ceiling crash I've experienced just resulted in my game quiting to desktop with the standard Oblivion crash message.
The only times I remember getting repeating sound loop crashes was from overclocking components, usually the video card would cause this type of crash. The CPU OC would usually cause a BSOD.

@Ervvyn - Nice test there :) Honestly, I didn't know what SkyRanger-1 was talking about on that one. He speaks a language beyond my comprehension level most of the time LOL! I figured those were memory tweak commands for Windows, but I never thought to test them the way you did. Even though your results weren't anything to get excited over, it's nice to know some results from that command. WOuld be cool to hear more from SkyRanger-1 on that.
User avatar
Jacob Phillips
 
Posts: 3430
Joined: Tue Aug 14, 2007 9:46 am

Post » Tue May 03, 2011 5:32 am

Speaking as someone who knows nothing about all this... What is LAA, and will it help me if I'm running a huge number of mods like the ones listed in the OP? I'm using FCOM, some of the ULs, RAEVWD, OBC, QTP3R, etc., and I have a fairly stable game (meaning I can go 1-2 hours without crashing on a good day). I'm hesitant to try out unknown programs like this, as I've had bad experiences in the past, but can someone let me if it'll work without getting into techspeak?
User avatar
Courtney Foren
 
Posts: 3418
Joined: Sun Mar 11, 2007 6:49 am

Post » Tue May 03, 2011 7:12 am

Speaking as someone who knows nothing about all this... What is LAA, and will it help me if I'm running a huge number of mods like the ones listed in the OP? I'm using FCOM, some of the ULs, RAEVWD, OBC, QTP3R, etc., and I have a fairly stable game (meaning I can go 1-2 hours without crashing on a good day). I'm hesitant to try out unknown programs like this, as I've had bad experiences in the past, but can someone let me if it'll work without getting into techspeak?


Hi WalkerInShadows,

What are your full computer specs? That will gives us an idea if you stand to benefit from LAA.
User avatar
Connor Wing
 
Posts: 3465
Joined: Wed Jun 20, 2007 1:22 am

PreviousNext

Return to IV - Oblivion