I broke your RAM cap.
Moderator: Moderators for English X Forum
-
- Posts: 2259
- Joined: Fri, 25. Dec 09, 03:56
I broke your RAM cap.
Rebirth wanted more than 3GB (Plus 1GB unlisted for the vid card) and then it died. I sure wish there was some way for a game to use more than 4GB!
[ external image ]
Have a crash dump to boot: http://www.gamefront.com/files/23868943 ... h+dump.zip
[ external image ]
Have a crash dump to boot: http://www.gamefront.com/files/23868943 ... h+dump.zip
-
- Moderator (English)
- Posts: 31814
- Joined: Fri, 16. Apr 04, 19:21
"Rebirth wanted more than 3GB (Plus 1GB unlisted for the vid card)"
Nothing at all wrong with that if you have lots of RAM (16 GB from the pic?) and an x64 OS. The 32 bit X Rebirth exe can use up to nearly 4 GB and then the rest is available for video shared memory, OS, drivers, services and background applications. Graphics card VRAM is not mapped into RAM addresses in x64 OS. The crash is probably something coincidental and the dmp should tell the devs what.
Nothing at all wrong with that if you have lots of RAM (16 GB from the pic?) and an x64 OS. The 32 bit X Rebirth exe can use up to nearly 4 GB and then the rest is available for video shared memory, OS, drivers, services and background applications. Graphics card VRAM is not mapped into RAM addresses in x64 OS. The crash is probably something coincidental and the dmp should tell the devs what.
A dog has a master; a cat has domestic staff.
-
- Posts: 2259
- Joined: Fri, 25. Dec 09, 03:56
-
- Posts: 11
- Joined: Fri, 15. Nov 13, 22:09
-
- Posts: 215
- Joined: Wed, 6. Nov 02, 20:31
32bit processes with Large Memory Awareness flag can utilize up to 4GB on a 64bit system. Thats why X:R needs a 64bit system. Just saying.Bobucles wrote:But rebirth is not an x64 program; x64 rules do not apply. It is not possible for a game to use memory that it can not map, and it is clearly mapping 4GB before exploding. I can literally count the seconds until it crashes after the memory gets that high, and it'll never get any higher.
Send the crash dumps to info[@]egosoft.com - they are usually happy to get the info from them.
-
- Posts: 61
- Joined: Tue, 22. Oct 13, 22:45
The video card memory does not count toward the 4G limit. It's a different address space and is independently addressable. In can case, if you see the game crashing just as its memory usage starts increasing above normal levels, all that really means is that the game likely has a memory leak.
I'm hard pressed to think of a game that didn't have memory leaks when it was released so it wouldn't at all be surprising if X-Rebirth had a few.
I'm hard pressed to think of a game that didn't have memory leaks when it was released so it wouldn't at all be surprising if X-Rebirth had a few.
-
- EGOSOFT
- Posts: 54307
- Joined: Tue, 29. Apr 03, 00:56
You are confusing the "rules" for 64-bit Windows and those for 64-bit applications. Under 64-bit Windows, a 32-bit application with the LAA flag set has access to the full 4GB memory range, unencumbered by things like graphics card memory.Bobucles wrote:But rebirth is not an x64 program; x64 rules do not apply.
-
- Posts: 6
- Joined: Fri, 24. Oct 08, 16:17
See this MSDN article for the technical details: http://msdn.microsoft.com/en-us/library ... ory_limitsCBJ wrote:You are confusing the "rules" for 64-bit Windows and those for 64-bit applications. Under 64-bit Windows, a 32-bit application with the LAA flag set has access to the full 4GB memory range, unencumbered by things like graphics card memory.
-
- Posts: 682
- Joined: Fri, 25. Nov 05, 00:59
http://forums.unknownworlds.com/discuss ... we-need-it
who did not think when write code which can't be just compiled as 64 bit application - because most problems of heavy system (16 gb ram, > 2gb video) roots here using 2gb video means that for game itself leaved < 2gb of memory.
again thanks for developersWhy can't windows and VRAM use the free space on the 64 bit side? The 32 bit application wouldn't know they existed if something got assigned outside the programs 4294967295 possible memory addresses. So it has to stay within the limit of 4gb.
who did not think when write code which can't be just compiled as 64 bit application - because most problems of heavy system (16 gb ram, > 2gb video) roots here using 2gb video means that for game itself leaved < 2gb of memory.
-
- EGOSOFT
- Posts: 54307
- Joined: Tue, 29. Apr 03, 00:56
-
- Posts: 682
- Joined: Fri, 25. Nov 05, 00:59
(as many players pointed out) I also never see it using more than 3gb,
even when heavy short time hanging (?swapping?)
(having 1.2gb video ram).
so based on my personal experience I will trust to link and quote from previous post i.e. all texture and model memory still occupy application address space.
i.e. game could use 4gb if it not using video memory for textures and 3d models, but those objects duplicated in main memory and still maps into application address space, because their handles is pointers.
although http://stackoverflow.com/questions/5234 ... pplication
but I think that is driver dependent
(for example opengl is not allowing that.)
even when heavy short time hanging (?swapping?)
(having 1.2gb video ram).
so based on my personal experience I will trust to link and quote from previous post i.e. all texture and model memory still occupy application address space.
i.e. game could use 4gb if it not using video memory for textures and 3d models, but those objects duplicated in main memory and still maps into application address space, because their handles is pointers.
although http://stackoverflow.com/questions/5234 ... pplication
but I think that is driver dependent
(for example opengl is not allowing that.)
-
- Posts: 118
- Joined: Thu, 5. Jul 07, 20:58
\CBJ wrote:Once again, that is incorrect. Under 64-bit Windows, which is specified under the system requirements, the game has access to up to 4GB, which is more than it actually needs.
Hi, how do you think an application manipulates the contents of the video platform's memory space, then? 4GB means the total between system and vram combined, that's the max a 32bit application can map and utilize.
Same crap happened back with Skyrim as well, I'd watch Skyrim chew up about 2GB of system memory and because I'm running 5760x1080 with mods it'd typically be already consuming over 2GB of vram per card...crash. Crash. 32bit is not enough for X and yet you guys keep trying to defend it with pseudo understanding of memory models. 32bit + LAA is not enough and no one has even tried to give a proper reason why the 64bit executable was never considered. You've already gone with saying 32bit OSes aren't supported so there is literally no reason not to make the exe 64bit and be done with it.
This is yet another reason I am currently seeking a refund from Steam, its obvious you guys lack the technical capability to make this game run properly and refuse to admit it.
Za ri'gh: i2600K @ 4.6Ghz, 3xEVGA GTX580/3GB Eds, 3x24" LEDs, yada yada yada.
-
- Posts: 9
- Joined: Tue, 13. Dec 11, 14:39
You clearly don't understand how vram is manipulated. It is not addressed in the same fashion as ram that is accessed by the cpu. You cannot hold a pointer to an address in vram and use that pointer in the same fashion for cpu-based operations. Thus it does not consume the address space.bumpinthenight wrote:\CBJ wrote:Once again, that is incorrect. Under 64-bit Windows, which is specified under the system requirements, the game has access to up to 4GB, which is more than it actually needs.
Hi, how do you think an application manipulates the contents of the video platform's memory space, then? 4GB means the total between system and vram combined, that's the max a 32bit application can map and utilize.
Same crap happened back with Skyrim as well, I'd watch Skyrim chew up about 2GB of system memory and because I'm running 5760x1080 with mods it'd typically be already consuming over 2GB of vram per card...crash. Crash. 32bit is not enough for X and yet you guys keep trying to defend it with pseudo understanding of memory models. 32bit + LAA is not enough and no one has even tried to give a proper reason why the 64bit executable was never considered. You've already gone with saying 32bit OSes aren't supported so there is literally no reason not to make the exe 64bit and be done with it.
This is yet another reason I am currently seeking a refund from Steam, its obvious you guys lack the technical capability to make this game run properly and refuse to admit it.
Now there is some address space consumed by the gfx card and other hardware, because that is how they are accessed and controlled by the program. However this is never the full amount of vram available. Otherwise you would literally not be able to use a 4gb gfx card on a 32 bit os as the entire address space would be consumed. Actually, you wont be able to use a 2gb gfx card in most setups.
Edit: So that does mean that he's technically wrong, the game does not have full access to 4gb for storage of game data. It's closer to 3.5-3.75gb. But it's not 3gb for a 1gb card or 2gb for a 2gb card.
Last edited by larsig on Sun, 24. Nov 13, 00:49, edited 1 time in total.
-
- Posts: 67
- Joined: Wed, 6. Nov 13, 19:13
-
- Posts: 655
- Joined: Sat, 11. Feb 12, 04:03
More then likely the cost of developing a 64bit application was not cost effective for the benefits it provides. IF I understand it right, the only things that you get from making an application 64bit is greater address space and a higher level of calculation precision. Since the game should run well with in 4gig of space and the game does not need the added precision, the cost did not out weight the benefits.Norsk wrote:Out of curiosity CBJ do you know why Egosoft decided not to make a 64 bit application?
Best guess and why many other games with far more complex math have not done it. Well that and it can become a very buggy mess very quickly.
-
- Posts: 7
- Joined: Sat, 16. Nov 13, 14:06
Which would explain why one of my friends who can play is saying it'll hit 3.3-3.4GB+ of ram (Windows process display) before it crashes, Vram and Ram start fighting for the allocation and the whole thing falls over.larsig wrote:You clearly don't understand how vram is manipulated. It is not addressed in the same fashion as ram that is accessed by the cpu. You cannot hold a pointer to an address in vram and use that pointer in the same fashion for cpu-based operations. Thus it does not consume the address space.bumpinthenight wrote:\CBJ wrote:Once again, that is incorrect. Under 64-bit Windows, which is specified under the system requirements, the game has access to up to 4GB, which is more than it actually needs.
Hi, how do you think an application manipulates the contents of the video platform's memory space, then? 4GB means the total between system and vram combined, that's the max a 32bit application can map and utilize.
Same crap happened back with Skyrim as well, I'd watch Skyrim chew up about 2GB of system memory and because I'm running 5760x1080 with mods it'd typically be already consuming over 2GB of vram per card...crash. Crash. 32bit is not enough for X and yet you guys keep trying to defend it with pseudo understanding of memory models. 32bit + LAA is not enough and no one has even tried to give a proper reason why the 64bit executable was never considered. You've already gone with saying 32bit OSes aren't supported so there is literally no reason not to make the exe 64bit and be done with it.
This is yet another reason I am currently seeking a refund from Steam, its obvious you guys lack the technical capability to make this game run properly and refuse to admit it.
Now there is some address space consumed by the gfx card and other hardware, because that is how they are accessed and controlled by the program. However this is never the full amount of vram available. Otherwise you would literally not be able to use a 4gb gfx card on a 32 bit os as the entire address space would be consumed. Actually, you wont be able to use a 2gb gfx card in most setups.
Edit: So that does mean that he's technically wrong, the game does not have full access to 4gb for storage of game data. It's closer to 3.5-3.75gb. But it's not 3gb for a 1gb card or 2gb for a 2gb card.
Would love to test that by keeping a tab on both the Vram and system ram levels but I still haven't been able to start the game yet.

-
- Posts: 118
- Joined: Thu, 5. Jul 07, 20:58
Here's my understanding: Something has to keep track of where everything in the video card's memory lives, this is the driver's responsibility but your program still indirectly does the tasking and managing via directX which is doing the virtual memory manipulations. Your code isn't directly talking to the pointers, its calls to DirectX are doing that. But DirectX isn't some service your application polls, its a library your application has incorporated. Your 32bit application, both count towards the 2^32 limitation.larsig wrote:You clearly don't understand how vram is manipulated. It is not addressed in the same fashion as ram that is accessed by the cpu. You cannot hold a pointer to an address in vram and use that pointer in the same fashion for cpu-based operations. Thus it does not consume the address space.
Now there is some address space consumed by the gfx card and other hardware, because that is how they are accessed and controlled by the program. However this is never the full amount of vram available. Otherwise you would literally not be able to use a 4gb gfx card on a 32 bit os as the entire address space would be consumed. Actually, you wont be able to use a 2gb gfx card in most setups.
Edit: So that does mean that he's technically wrong, the game does not have full access to 4gb for storage of game data. It's closer to 3.5-3.75gb. But it's not 3gb for a 1gb card or 2gb for a 2gb card.
That's my understanding, and no its not like the second a game loads it needs to map the entire card's memory, it only needs to alloc what it needs and believe me it was pretty apparent via watching Nvidia Inspector's vram graph + Process monitor that whenever a 32bit game's combined quantity reaches 2^32 it'd crash. Skyrim was the only one where this became a fairly common annoyance but hearing that Rebirth is capable of using 3GB of system memory makes me wary since I know its already commonly eating 2.3-2.6GB of vram whenever I'm watching it.
Thank god that applications don't need to directly map the raw video memory and my 64bit driver gets that honour, us SLI users would be shafted way way worse.
Last edited by bumpinthenight on Sun, 24. Nov 13, 01:29, edited 1 time in total.
Za ri'gh: i2600K @ 4.6Ghz, 3xEVGA GTX580/3GB Eds, 3x24" LEDs, yada yada yada.
-
- Posts: 7
- Joined: Sat, 16. Nov 13, 14:06
It difficult to know how much of the GPU memory consumed is allocated actually from within the application and how much is being handled by separate GPU processes though (Caches for filtering etc). Have no idea on how Nvidia and AMD drivers handle that kind of stuff as it's well outside of my area of development work -_-;bumpinthenight wrote:Here's my understanding: Something has to keep track of where everything in the video card's memory lives, this is the driver's responsibility but your program still indirectly does the tasking and managing via directX which is doing the virtual memory manipulations. Your code isn't directly talking to the pointers, its calls to DirectX are doing that. But DirectX isn't some service your application polls, its a library your application has incorporated. Your 32bit application, both count towards the 2^32 limitation.larsig wrote:You clearly don't understand how vram is manipulated. It is not addressed in the same fashion as ram that is accessed by the cpu. You cannot hold a pointer to an address in vram and use that pointer in the same fashion for cpu-based operations. Thus it does not consume the address space.
Now there is some address space consumed by the gfx card and other hardware, because that is how they are accessed and controlled by the program. However this is never the full amount of vram available. Otherwise you would literally not be able to use a 4gb gfx card on a 32 bit os as the entire address space would be consumed. Actually, you wont be able to use a 2gb gfx card in most setups.
Edit: So that does mean that he's technically wrong, the game does not have full access to 4gb for storage of game data. It's closer to 3.5-3.75gb. But it's not 3gb for a 1gb card or 2gb for a 2gb card.
That's my understanding, and no its not like the second a game loads it needs to map the entire card's memory, it only needs to alloc what it needs and believe me it was pretty apparent via watching Nvidia Inspector's vram graph + Process monitor that whenever a 32bit game's combined quantity reaches 2^32 it'd crash. Skyrim was the only one where this became a fairly common annoyance but hearing that Rebirth is capable of using 3GB of system memory makes me wary since I know its already commonly eating 2.3-2.6GB of vram whenever I'm watching it.
Thank god that applications don't need to directly map the raw video memory and my 64bit driver gets that honour, us SLI users would be shafted way way worse.
Would be very interesting to find out the real and final answer though.
-
- Posts: 118
- Joined: Thu, 5. Jul 07, 20:58
Totally agreed about not knowing the exact values and same with you 3d accelerated applications aren't my area of dev experience either and its frustrating that there isn't a really nice locatable resource (that I can find at least) that definitively says what's what, all my searching inevitably leads to people mistaking the question to 32bit OS vs video card memory mapping.Raijan wrote:It difficult to know how much of the GPU memory consumed is allocated actually from within the application and how much is being handled by separate GPU processes though (Caches for filtering etc). Have no idea on how Nvidia and AMD drivers handle that kind of stuff as it's well outside of my area of development work -_-;
Would be very interesting to find out the real and final answer though.
I also wonder if 64bit would require going up to DX10, I haven't met many games with 64bit executables but I seem to remember that even back to Crysis 1 it was always the combo of 64 + DX10. This could be the stumbling block that is also preventing Egosoft from doing it. Beyond how the whole memory foot print would go up as well due to things like pointer references eating 8 bytes instead of 4.
Za ri'gh: i2600K @ 4.6Ghz, 3xEVGA GTX580/3GB Eds, 3x24" LEDs, yada yada yada.