Nebulous112 Posted May 30, 2017 Share Posted May 30, 2017 Credit to this Reddit thread for the news. See here: http://enbseries.enbdev.com/forum/viewtopic.php?f=17&t=5493 Link to comment Share on other sites More sharing options...
Arthmoor Posted May 31, 2017 Share Posted May 31, 2017 I still fail to see how this is a "bug" when that's just how 32 bit addressing works, but if the placebo makes people happy.... Link to comment Share on other sites More sharing options...
lmstearn Posted May 31, 2017 Share Posted May 31, 2017 Each Windows 32bit app has its own pool of 4Gb. To extend it they must be dusting off the cobwebs from the old Win 16 viz expanded memory codebank of tricks. Link to comment Share on other sites More sharing options...
Nebulous112 Posted May 31, 2017 Author Share Posted May 31, 2017 17 hours ago, Arthmoor said: I still fail to see how this is a "bug" when that's just how 32 bit addressing works, but if the placebo makes people happy.... 16 hours ago, lmstearn said: Each Windows 32bit app has its own pool of 4Gb. To extend it they must be dusting off the cobwebs from the old Win 16 viz expanded memory codebank of tricks. This bug has nothing to do with the ~3.1GB of RAM that a 32-bit application can use. This bug restricts the VRAM available to DX9 applications to 4GB. This includes any virtual RAM allocated to be shared with the GPU (per ENB/ENBoost). The bug can be confirmed by running Boris' VRAMSizeTest Tool. http://enbdev.com/download_vramsizetest.htm On Windows 8/10, the maximum value is 4064MB for DX9 (this is VRAM + shared virtual RAM). On Windows 7, this arbitrary maximum value does not exist - the value will show whatever is actually available on your computer. From the DirectX dev in the linked Reddit thread: "Hey guys, sorry this took so long to get taken care of. I was being honest when I said this was the first I heard of the issue - I've been on the DirectX team for over 5 years (joined at the end of Win8 development) and had no idea about this problem, or I would've pushed to fix it sooner. For what it's worth, the reason it broke and the reason it's not simply trivial to fix is because there's an API available in D3D9 which is completely broken if we allow more than 4GB to be used. Since this API can only return a limit of 4GB, we had to rationalize what it means to be able to allocate more than that. In the Win8 timeframe, the rationalization was that it didn't make sense and 4GB should be a hard limit in D3D9 - which was apparently the wrong answer, since at least some apps depended on more than that. Hopefully we get it right this time. I wish I could get the fix to you sooner, but it's got a lot of validation to go through before it makes it to the insider fast ring. I had no idea there were this many people clamoring for a fix, so seeing this makes me glad that I started reaching out." Link to comment Share on other sites More sharing options...
Sheson Posted June 1, 2017 Share Posted June 1, 2017 19 hours ago, lmstearn said: Each Windows 32bit app has its own pool of 4Gb. To extend it they must be dusting off the cobwebs from the old Win 16 viz expanded memory codebank of tricks. Wow, the memories... However, PAE has been around since over two decades. https://en.wikipedia.org/wiki/Physical_Address_Extension But GPUs do their own addressing anyhow. And then there is "Video Memory", which is a combination of VRAM and RAM offered by DirectX/OS. In any case, 32/64 bit refers to CPUs main registers and not memory address width. Link to comment Share on other sites More sharing options...
lmstearn Posted June 1, 2017 Share Posted June 1, 2017 4 hours ago, Sheson said: Wow, the memories... However, PAE has been around since over two decades. https://en.wikipedia.org/wiki/Physical_Address_Extension But GPUs do their own addressing anyhow. There's the rub, a fine addressing system and all that memory gone to waste because no-one could use it! Until recently perhaps. Yay. Quote And then there is "Video Memory", which is a combination of VRAM and RAM offered by DirectX/OS. In any case, 32/64 bit refers to CPUs main registers and not memory address width. Interesting, never got around to perusing the DirectX SDK, so don't know much about it. And then looking at the set of functions in the DirectX NVAPI Interface it's not at all obvious where any actual memory blocks actually get shuffled around. Link to comment Share on other sites More sharing options...
Nebulous112 Posted June 29, 2017 Author Share Posted June 29, 2017 Now fixed (for Windows 10) in the latest Windows Insider Flight build. Will be included in the Fall Creator's update for mainstream builds. It is doubtful the bug will ever be fixed for Win 8/8.1. Link to Reddit post by Microsoft Dev: https://www.reddit.com/r/skyrimmods/comments/6k58mf/dx9_4gb_memory_issue_should_be_fixed_in_new/ Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now