Jump to content
  • 0

CTD at 3.1GB


viking

Question

Some key posts on this and related threads (experts feel free to note any errors or insights):

Wiki article (draft)

 

Thanks,

STEP

 

OP follows


First of all I wanted to thank you all for the great work you have done with STEP. Skyrim is the first game I installed on this computer and you guys have made it an AMAZING game. That being said, I have an issue that I hope you can help me solve.

 

My setup:

Vanilla Skyrim

gtx670 w/ 4GB @1080p w/ latest driver

16GB Memory

3770K at about 4GHz

Windows 8 64bit

ENB 149

Ultra settings

Highest available texture/quality

Mod Organizer

Step 2.2.1 + Skyrim Revisited + others

 

I have noticed a post here and there saying that Skyrim can't really address more than about 3.1GB of memory without issues. This seems to jive with my experience, meaning I CTD every time my memory hits that mark, but I couldn't really find anything definitive on the topic. The issue with googling the topic is the pre 1.3 skyrim that couldn't address more than 2gb of memory.

 

My mod list is mostly based on STEP which is why I came here for help, with about ten mods added onto the end (Interesting NPCs, Detailed Cities, Economics, COT, and a couple others). The reason I haven't included my mod list is that it doesn't seem to matter. As long as I keep the memory usage below 3GB I can have pretty much any combination of mods.

 

What I have tried so far (in no particular order):

  • resetting ini files
  • removing enb
  • not using attklt
  • only using a new game
  • removing all mods and adding one by one until issue crops up
  • running as admin
  • watching the papyrus log - it seems relatively clean, no obvious errors right before CTD

Yes, I can run STEP just fine without any issues, but I also never get near 3GB of memory. I have tracked VRAM usage as well and have seen a max of 2.7GB/4GB.

 

As an example of where I might run into issues: I start a new character with Alternate Start. I start with Breezehome. Run out of Whiterun, past the Brewry, up the hill to the bandits. Enter the cave (watching memory usage with Elys MemInfo), and it dies right after I see 3GB. I have this same issue not using AS, sitting through the intro, and then running over to whiterun.

 

I'm sorry if this post is all over the place. I have spent more than a week trying to solve this issue, and the only solution I have found is to reduce memory usage. I have got to the point where I can exchange two texture packs and get into the cave without a CTD, but with both I get a CTD. I didn't even think texture packs should even affect CTDs, but I'm relatively new to Skyrim on the PC, so I could be wrong. I also found I could get a bit further with ENB turned off, but would still crash once I got above 3GB of memory. Finally, if I reload a game after a CTD, I can play just fine...until I reach 3GB of memory.

 

I really hope you guys can help. I more than willing to try anything at this point, besides just disabling all of the mods.

Link to comment
Share on other sites

Recommended Posts

  • 0

I hit this limit as well and can confirm that the fix on RCRN does NOT work.  Although the shadows mod was interesting... my Vram hits 3GB now!! :o But yeah I had to turn my uGrids down otherwise I got a crash.  I have to say that this is disappointing and I really wish that Bethesda would make a 64bit patch for this game so I can utilize my Ram... 16GB just being wasted haha. Let's hope Bethesda makes a 64bit client for Elder Scrolls Online.

Link to comment
Share on other sites

  • 0

Lately I have been reading about 32bit memory limit and I really cant find any true explanation.

 

Quote:  32-bit editions of Windows starting with Windows Vista are limited to 4GB is not because of any technical constraint on 32-bit operating systems. The 32-bit editions of Windows Vista and Windows 7 all contain code for using physical memory above 4GB. Microsoft just doesn’t license you to use that code.

The 4GB limit is retrieved from the registry by calling a function named ZwQueryLicenseValue, which is itself called from an internal procedure which Microsoft’s published symbol files name as MxMemoryLicense. The license data that would have to be upgraded is protected in various ways from being tampered with.

32-bit Windows all that needs to be changed are two pieces of registry data whose sole purpose is to specify how much memory Microsoft permits you to use.

 

 

this is only for windows its not about other applications or drivers. still...

Link to comment
Share on other sites

  • 0

you cant tweak it, its protected in different levels of security even in the kernel it self. Its possible, but drivers and OS memory managers built for 32 bit direct memory access would have to be rebuild.

 

Quote: When working with physical memory addresses, even 32-bit device drivers need to do 64-bit arithmetic.

Link to comment
Share on other sites

  • 0

I'm not entirely sure what you are getting at, Nshell. Yes, device drivers need to do some form of 64-bit arithmetic, but this is because they are in kernel space, not user space. Even if you ran Skyrim as administrator, this would not run in kernel space (thus not do 64-bit arithmetic). Also, you are correct about the registry value that sets how much memory you can use in 32-bit versions of windows vista and windows 7, but again, I'm not sure how it is relelvant. Skyrim is limited to 4GB of memory (with the LAA switch enabled) because it is a 32-bit program. C++ based 32-bit programs, which Skyrim is, uses 32-bit integers to address the memory addresses in their virtual memory tables. This is a limitation of both how the program was written, and the specific compiler used to compile the program (thus you cannot typically just re-compile it).

Link to comment
Share on other sites

  • 0

what im trying to understand is why isnt skyrim able to request multiple address spaces? integer data type is -2,147,483,648 through 2,147,483,647. why cant skyrim dynamically point to new memory addresses.

Link to comment
Share on other sites

  • 0

...why isnt skyrim able to...

Because Bethesda. And consoles.

And because it was written as a 32-bit program. Bethesda could theoretically rewrite Skyrim as 64-bit, but the only people it would help would be PC modders, so they have little incentive to invest in it. "Requesting multiple address spaces" is not really possible. All of the variables are 32 bit and memory access functions take a single 32 bit integer, so even if you requested "multiple address spaces" you wouldn't be able to tell the OS that you wanted to get to them. 

 

EDIT: I should be clear: The maximum size of a variable is 32 bits; an integer (which is used as a memory pointer) is 32 bits, but other types are of different sizes <= 32bits in a 32-bit program.

Link to comment
Share on other sites

  • 0

yes viking thx. Its just I thought that memory could maybe be handled by a lists of pointers, all variables just pointing to new index, with control on INIs to limit their ceiling, maybe im wrong or maybe it wouldnt be so fast.

Link to comment
Share on other sites

  • 0

Sorry Nshell, that isn't how it works. There are system functions (called "system calls") that the program (skyrim) calls which expect a 32-bit integer for a 32-bit program, irrespective of whether the OS is 32 or 64 bit. It isn't a matter of being fast or slow, it simply wouldn't work. If you had multiple lists of pointers each with 2^32 entries, each list would point to the same memory locations. This limitation of 32-bit is a large driving factor behind the adoption of 64-bit applications.

 

aleksanderdev, I am surprised you are able to get up to 5.2GB of VRAM, mind sharing your setup, modlist, and location where you reached that?

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

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

Important Information

By using this site, you agree to our Guidelines, Privacy Policy, and Terms of Use.