I broke your RAM cap.

General discussions about X Rebirth.

Moderator: Moderators for English X Forum

Bobucles
Posts: 2259
Joined: Fri, 25. Dec 09, 03:56
x3tc

Post by Bobucles »

Nice analysis, Spikeles, and thanks for introducing me to a sexy program. It's better to have some concrete evidence that didn't come from a default windows utility. If I'm correct in reading those charts, the devs made a tragic mistake and have a lot of work to do.
A gaming PC now requires a 64 bit OS and 8gb of memory. Any less and you are asking for trouble /shrug.
I'm running 18GB. Remember tri-channel motherboards? ...Yeah.

Prices seem to be up lately, but an 8GB upgrade doesn't cost much more than a AAA game. There really is no excuse for having too little, it's the cheapest computer upgrade you can get.
hawat
Posts: 140
Joined: Tue, 12. Aug 08, 20:03
x4

Re: I broke your RAM cap.

Post by hawat »

Spaceweed wrote:
Bobucles wrote: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

A gaming PC now requires a 64 bit OS and 8gb of memory. Any less and you are asking for trouble /shrug.
The guy you quoted obviously has more than 8gb of memory as it shows in the screenshot that his system is only using 25% memory when 4gb of memory are in use.
Spikeles
Posts: 90
Joined: Mon, 12. Jan 09, 09:53
x4

Post by Spikeles »

Here is another sexy program:
VMmap:
http://technet.microsoft.com/en-au/sysi ... 35533.aspx

[ external image ]

I must clarify that it's perfectly possible and reasonable that an application may allocate more memory for itself then it actually uses, often this is used for future allocations(or the result of a memory leak).

This will increase the the Virtual Size(Committed) memory but doesn't actually take up physical memory and is why there is a difference between Working Set and Committed. Working set is the subset of Committed that is actually IN physical memory and being used.

However, its not possible for an application to exceed it's Virtual Size limit (in this case 4GB).
User avatar
bumpinthenight
Posts: 118
Joined: Thu, 5. Jul 07, 20:58
x3tc

Post by bumpinthenight »

Spikeles wrote:Here is another sexy program:
VMmap:
http://technet.microsoft.com/en-au/sysi ... 35533.aspx

[ external image ]

I must clarify that it's perfectly possible and reasonable that an application may allocate more memory for itself then it actually uses, often this is used for future allocations(or the result of a memory leak).

This will increase the the Virtual Size(Committed) memory but doesn't actually take up physical memory and is why there is a difference between Working Set and Committed. Working set is the subset of Committed that is actually IN physical memory and being used.

However, its not possible for an application to exceed it's Virtual Size limit (in this case 4GB).
Thank you as well for referencing this tool :)
Za ri'gh: i2600K @ 4.6Ghz, 3xEVGA GTX580/3GB Eds, 3x24" LEDs, yada yada yada.
Spikeles
Posts: 90
Joined: Mon, 12. Jan 09, 09:53
x4

Post by Spikeles »

After a bit more poking this whole video memory issue is even worse then I thought.

According to Microsoft, since KB940105 (which includes Win7/8 ), For DX9 and earlier, all "lockable" video resources are shadowed to the application's address space. So, that's a doubling of any locked managed resource. The application copy (managed) and the WDDM copy. Considering the size of the resources (see earlier graph), it's no wonder X:Rebirth is running out of memory. Savagetwinky said this earlier, but I thought he was alluding to the D3D9 pools when I think he meant this, so my apologies Savagetwinky!

I remember, World of Warcraft had a VERY similar issues about memory usage, LAA and and hitting their Virtual Size Limits. Their solutions were:

1: Implement DX11 version.
2: Create 64 bit client
User avatar
BigBANGtheory
Posts: 3180
Joined: Sun, 23. Oct 05, 12:13
x4

Post by BigBANGtheory »

I recently upgrade my GPU from a card which had 2GB of vram to a new one with 4GB vram and am now seeing some massive 'stuttering' performance hits. Could the extra vram being causing a problem in eating into the total addressable memory space do you think?
Bobucles
Posts: 2259
Joined: Fri, 25. Dec 09, 03:56
x3tc

Post by Bobucles »

High memory stuttering seems to be the most consistent cause of framerate drop. Likely there's some frantic "memory games" as the OS tries to squeeze every last ounce out of the limited address space.
User avatar
Sam L.R. Griffiths
Posts: 10522
Joined: Fri, 12. Mar 04, 19:47
x4

Post by Sam L.R. Griffiths »

Bobucles wrote:...
All a 64 bit OS does it is it lets a system with more than 4GB give a 32 bit app up to 4GB. You can NOT access memory space beyond what 32 bits allow. 32BIT DOES NOT WORK THAT WAY. Learn how memory addressing works. If a program can not access memory (video cards use address space because everything on a computer has uses address space) it can not use it. The end.
Actually, that is not entirely true where the x86/x86-64 architecture is concerned as there are non-memory mapped ways of accessing hardware and even in the memory mapped case it is not always as simple as X GB of "expansion card" memory requires X GB of CPU memory address space.

For instance, I have a 4GB RAM graphics card that does not mean the CPU has no memory space left in a 32-bit application environment.

While I do agree that 64-bit application would probably be the ideal for an X type engine, it is likely that 32-bit is still sufficient depending on how the memory is used (high average memory usage does not necessarily mean a memory leak).

If there are frame rate fluidity issues, high memory usage is not necessarily the root cause. Remember that X-Rebirth is multi-threaded and cross-thread synchronisation is probably a more likely cause for the problems than memory usage.
Lenna (aka [SRK] The_Rabbit)

"Understanding is a three edged sword... your side, their side... and the Truth!" - J.J. Sheriden, Babylon 5 S4E6 T28:55

"May god stand between you and harm in all the dark places you must walk." - Ancient Egyption Proverb

"When eating an elephant take one bite at a time" - Creighton Abrams
dzhedzho
Posts: 1112
Joined: Mon, 31. May 04, 09:19
x4

Post by dzhedzho »

dzhedzho 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.
You sure about that? On my rig seems to use all 4, and still runs pretty badly, while everything else including the video card doesn't go over 70%

And yes, got a few (low memory warnings) even though memory is at around 60%. Increased my page file to 12GB and that seemed to somehow help, but ...
Edit: NM still got that, page-file is irrelevant
Last edited by dzhedzho on Tue, 26. Nov 13, 23:20, edited 1 time in total.
Bobucles
Posts: 2259
Joined: Fri, 25. Dec 09, 03:56
x3tc

Post by Bobucles »

Actually, that is not entirely true where the x86/x86-64 architecture is concerned as there are non-memory mapped ways of accessing hardware and even in the memory mapped case it is not always as simple as X GB of "expansion card" memory requires X GB of CPU memory address space.
There are. But typically they're glitchy and slow because it's either an addressing hack that annihilates performance, or it connects to something else that 64bits properly. There is good evidence that Rebirth is suffering from memory issues and errors, and if you don't want to believe it then I'll just have to accept that I did all I could.

The best way to >4GB will always be to support it in the first place.
sabbede
Posts: 98
Joined: Sun, 13. Aug 06, 19:34
x4

Post by sabbede »

Roger L.S. Griffiths wrote:
SyberSmoke wrote:
Norsk wrote:Typically, a 64-bit application does not cost any more to develop than a 32-bit application - it is normally just a compiler switch.
:goner:
I wish!
Have you ever tried it? Forget optimization, I usually give up before I can even get things to compile. There's a million little things, and the monster that is re-writing all your memory management code. All of which is beyond me, and since I only do it for fun I stop.

Right now, I'd rather they focus on patching before taking a month to build a proper 64bit exe.
Asus TUF x570 PRO Wi-Fi
AMD Ryzen 9 5900x
32gig Patriot Viper PC4-35200
RTX 3070Ti
EVGA 850 GS PSU
Windows 10 x64
and a joystick.
Flaming Blastclaw
Posts: 153
Joined: Thu, 27. May 10, 20:19

Post by Flaming Blastclaw »

SyberSmoke wrote:
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.
Kerbal Space Program (KSP) is thought to be going 64-bit in the near future.
Unlike Egosoft, Squad listen to fans and fully intend to bring the benefits of 64-bit to bear.


Regarding X-Rebirth being 32-bit only: Currently the theory is that Egosoft are using 3rd party libraries that are only 32-bit, probably the codecs.
"It is better to be thought as a fool than to speak and remove all doubt".
Abraham Lincoln
Halconnen
Posts: 831
Joined: Sun, 22. Feb 04, 12:55
x3tc

Post by Halconnen »

Unless you've been sleeping for over a decade, making assumptions about the sizes of pointers and such when dynamically allocating memory is just ridiculously bad coding practice.

Casting pointers into ints or stuff like that is just ridiculous.

Even if they only planned on releasing the game in 32-Bit right away, given 64-Bit computers already existed 7 years ago, and given they likely wanted to make their major engine rewrite relatively future proof, at least developing with a possible swap to 64-Bit would just have made sense.

I'd be very interested to know what, if any, 3rd party libraries currently do not have 64-Bit pendants.

Also, even if Rebirth makes do with the 4GB limit now, will it in the future? The next game building on the engine? Mods adding ship types or station modules, or expanding the universe map? Running -just under- the 4GB ceiling and saying that 4GB is plenty is silly.

People also keep stating that memory addressing aside, there is no advantage to 64-Bit executables. This is still false. x64-86 processors have 16 general purpose registers which are, in 64-Bit mode, 64-Bits in size. A 32-Bit process can only use eight and thus needs to hit the L1 cache more frequently. That's just -one- of the many little architectural differences. There's also the (mostly small) overhead from the WoW64 emulation layer that is gone.

The actual performance gain varies a lot on the software in question, but I've seen numbers quoted as high as a flat +20% gain in performance for database applications just from making the 32/64 Bit swap.

Given the game clearly has performance issues, at least considering the possibility isn't too much to ask, is it?
User avatar
Nomadski
Posts: 508
Joined: Sun, 13. Nov 05, 22:24
x4

Post by Nomadski »

I knew there was an integral cap with 32bit OS installs, but I never realised this cap also exists for 64bit OS?

Not much of a techie myself, I just figured with a 64bit install the more ram the better.

Seems not much point in having more than 4gb for either, or have I missed something?

Why do gamers constantly have 8gb+ inside their machines not doing anything?
graphicboy
Posts: 718
Joined: Wed, 3. Jul 13, 03:21
xr

Post by graphicboy »

Nomadski wrote:I knew there was an integral cap with 32bit OS installs, but I never realised this cap also exists for 64bit OS?
There's a mixture of topics in this thread. The problem is a 32 bit application (like XR) has a memory limit, despite running on a 64 bit machine. Your OS has little to do with this except that it needs to be able to run on your machine.

Hardware notwithstanding, 64 bit machines can support ungodly amounts of memory. We won't hit its limit for quite a long time.

If they compiled a 64 bit EXE instead of a 32 bit EXE, they would have access to more memory, and they wouldn't have to run in emulation on our 64 bit machines. Downside is the memory usage would grow a bit.

As said in other replies, it's likely that they're using libraries that aren't 64 bit compatible since compiling to 64 bit (unless you're doing some really wonky stuff) is a simple switch, and having to COM your libraries sucks.

My reply probably didn't help. Sorry about that.
User avatar
Nomadski
Posts: 508
Joined: Sun, 13. Nov 05, 22:24
x4

Post by Nomadski »

graphicboy wrote:
Nomadski wrote:I knew there was an integral cap with 32bit OS installs, but I never realised this cap also exists for 64bit OS?
There's a mixture of topics in this thread. The problem is a 32 bit application (like XR) has a memory limit, despite running on a 64 bit machine. Your OS has little to do with this except that it needs to be able to run on your machine.

Hardware notwithstanding, 64 bit machines can support ungodly amounts of memory. We won't hit its limit for quite a long time.

If they compiled a 64 bit EXE instead of a 32 bit EXE, they would have access to more memory, and they wouldn't have to run in emulation on our 64 bit machines. Downside is the memory usage would grow a bit.

As said in other replies, it's likely that they're using libraries that aren't 64 bit compatible since compiling to 64 bit (unless you're doing some really wonky stuff) is a simple switch, and having to COM your libraries sucks.

My reply probably didn't help. Sorry about that.
Well it clarified some things for me, so it did, cheers!
savagetwinky
Posts: 169
Joined: Tue, 11. May 10, 19:29

Post by savagetwinky »

Spikeles wrote:After a bit more poking this whole video memory issue is even worse then I thought.

According to Microsoft, since KB940105 (which includes Win7/8 ), For DX9 and earlier, all "lockable" video resources are shadowed to the application's address space. So, that's a doubling of any locked managed resource. The application copy (managed) and the WDDM copy. Considering the size of the resources (see earlier graph), it's no wonder X:Rebirth is running out of memory. Savagetwinky said this earlier, but I thought he was alluding to the D3D9 pools when I think he meant this, so my apologies Savagetwinky!

I remember, World of Warcraft had a VERY similar issues about memory usage, LAA and and hitting their Virtual Size Limits. Their solutions were:

1: Implement DX11 version.
2: Create 64 bit client
Its ok, i barely new what i was talking about any way, I mentioned the articles I've read and I think i was incorrect in saying the GPU mem was entirely shadowed. But a bit more reading and its... a mixture of the two i suppose.
User avatar
CJBok
Posts: 38
Joined: Wed, 20. Nov 13, 11:22
x4

Post by CJBok »

Roger L.S. Griffiths wrote:
SyberSmoke wrote:
Norsk wrote:Out of curiosity CBJ do you know why Egosoft decided not to make a 64 bit application?
More then likely the cost of developing a 64bit application was not cost effective for the benefits it provides.
Typically, a 64-bit application does not cost any more to develop than a 32-bit application - it is normally just a compiler switch.

What may make a difference is if there are any third party library problems. This is due to issues such as the different sizes of some base types such as integers and pointers.

Either way it is rather moot, X-Rebirth is a 32-bit LAA application and probably will always be now. ;) :goner:
The biggest reason is the fact that the game was meant for XBox in the first place. 5 to 6 years of developement went by with XBox as their goal. XBox = DX9 32bit
Motherboard: Sabertooth 990FX R2
Processor: AMD FX-8320 3500 (4800Mhz)
Videocard: AMD HD7870 2GB
Memory: 16GB DDR3 (1600Mhz)
OS: Windows 7 64bit
X-Rebirth Avg. FPS: 20-25
User avatar
Sam L.R. Griffiths
Posts: 10522
Joined: Fri, 12. Mar 04, 19:47
x4

Post by Sam L.R. Griffiths »

CJBok wrote:
Roger L.S. Griffiths wrote:
SyberSmoke wrote:
Norsk wrote:Out of curiosity CBJ do you know why Egosoft decided not to make a 64 bit application?
More then likely the cost of developing a 64bit application was not cost effective for the benefits it provides.
Typically, a 64-bit application does not cost any more to develop than a 32-bit application - it is normally just a compiler switch.

What may make a difference is if there are any third party library problems. This is due to issues such as the different sizes of some base types such as integers and pointers.

Either way it is rather moot, X-Rebirth is a 32-bit LAA application and probably will always be now. ;) :goner:
The biggest reason is the fact that the game was meant for XBox in the first place. 5 to 6 years of developement went by with XBox as their goal. XBox = DX9 32bit
Supposition and irrelevant... recompiling for a different platform is not necessarily a big issue and 32-bit/64-bit code can be mixed under certain circumstances.
Lenna (aka [SRK] The_Rabbit)

"Understanding is a three edged sword... your side, their side... and the Truth!" - J.J. Sheriden, Babylon 5 S4E6 T28:55

"May god stand between you and harm in all the dark places you must walk." - Ancient Egyption Proverb

"When eating an elephant take one bite at a time" - Creighton Abrams
User avatar
Sam L.R. Griffiths
Posts: 10522
Joined: Fri, 12. Mar 04, 19:47
x4

Post by Sam L.R. Griffiths »

sabbede wrote:
Roger L.S. Griffiths wrote:Typically, a 64-bit application does not cost any more to develop than a 32-bit application - it is normally just a compiler switch.
:goner:
I wish!
Have you ever tried it?
Actually, yes.
sabbede wrote:Forget optimization, I usually give up before I can even get things to compile. There's a million little things, and the monster that is re-writing all your memory management code. All of which is beyond me, and since I only do it for fun I stop.

Right now, I'd rather they focus on patching before taking a month to build a proper 64bit exe.
Memory management code should not need mega re-writing unless you do not stick to best practices. :roll:
Lenna (aka [SRK] The_Rabbit)

"Understanding is a three edged sword... your side, their side... and the Truth!" - J.J. Sheriden, Babylon 5 S4E6 T28:55

"May god stand between you and harm in all the dark places you must walk." - Ancient Egyption Proverb

"When eating an elephant take one bite at a time" - Creighton Abrams

Return to “X Rebirth Universe”