New Mem Limit, hardcode limits?

What've got to look forward to in Rebellion?

I don't know the technical side of what's planned for Rebellion.  I know there won't be a 64-bit executable, though I don't know why really or what the hurdles are.

What will be the memory limit?  SOASE only uses 2gb of memory, right?  After it reaches the 2GB limit, POOF; SOASE dumps.  Will Rebellion have a mem crash limit of 3gb, 3.5, 4, 50?  Where will Rebellion hit the wall and explode into flames? 

What are projected sound, mesh, etc... hardcode limits or will it be the memory limit that controls all things?  In particular, I'm asking as a modder of 7 Deadly Sins.  We currently have 11 playable races + NPC Pirates, 2,199 entities in GameInfo, 452 mesh files in mesh, 689 in particle, 1,377 in Sound, 1,393 in textures.  We have set a good number of things as 'load on demand'.  A 4 player game on medium to large map with planets medium, ships all medium, structures all on medium easily reaches 1.7 GB of memory.  More detail and that 2Gb limit hits fast; more players -same issue.  So, just given the file quantities above, 4 player settings on a medium/large map, and assuming we easily get 7DS into Rebellion (easier than reaching Beta in Entrenchment), will we still have the dreaded 2GB memory limit issue?  Will we finally get to have 8 or 10 races playing your huge, random, multi-star map with all settings on medium?

Gotta know what Rebellion holds for us as well as other mods that plan 6+ races with their own meshes, sounds, textures, etc... The LARGE mods.  We are considering what it'll take to go fully modular, where we can stack in exactly which races the player wants to play so they can only load in the specific races' meshes, sounds, textures (or more, we have more planned), but that means figuring out how to deal with GalaxyScenarioDef, sounddata, and a variety of other files as well as entity.manifest.

So StarClad, what've we got to look forward to in Rebellion so we can start figuring out options now?

105,859 views 53 replies
Reply #1 Top

Wouldn't a 32-bit program be absolutely limited to 4 gigs memory regardless?  It also needs to share memory with the operating system and other programs. 

Reply #2 Top

on a 64 bit OS the 32 bit game would have (IF LAA is enabled) a max addressable space of 4gb, but if LAA NOT enabled OR on a 32bit OS then 2gb is the limit.

 these limits are from windows(M$), and if there are other programs running then the SWAP file is used to shove the lower in the pile programs out of the RAM so that the ram is for the front most(top of the pile) application

hope this helps

harpo

 

Reply #3 Top

so how to get LAA Enabled in the engine is the biggie, right?

Reply #4 Top

I gather that the devs are working on reducing memory consumption by optimizing textures and code alike, so I believe that the game will only hit the limits on huuuge custom maps. 

LAA will help a lot on 64-bit systems, but I don't know if the devs will want to enable it, because it would make differente experiences on different platforms, and that would require more testing. I hope they enable it though.

Reply #5 Top

As I posted elsewhere (and many times before), 32-bit operating systems are limited to 2GB per process. The LAA trick doesn't avoid this either (it just shifts some bits around) and makes some systems unstable. Sins is a 32-bit game and there's nothing we can do to have it suddenly be 64-bit or change the inherent limitations of 32-bit tech. :P

Reply #6 Top

So the best we'll get is texture/mesh/sound load on demand?

How long would a 64bit exe of Rebellion take?

 

Reply #7 Top

Quoting SemazRalan, reply 6
How long would a 64bit exe of Rebellion take?
Better part of a year, they've said. That's if they do no other changes.

 

:fox:

Reply #8 Top

So, they can do it. They just won't. Rather large difference, if you ask me.

Reply #9 Top

More like it'd be real stupid for them, business wise, to do it.

 

:fox:

Reply #10 Top

I am sure they will do it for sins 2 but for a stand alone expansion using the old engine, no.  Not a chance.

Reply #11 Top

So, what I said is true? I agree with you, Kitkun, by the way.

PeterPiker, I don't know how to tell you this, but Rebellion probably will be the last of the Sins games. So, yeah. Heartbreaker, I know.

Reply #12 Top

Quoting JA_394, reply 11
PeterPiker, I don't know how to tell you this, but Rebellion probably will be the last of the Sins games. So, yeah. Heartbreaker, I know.

Can you confirm this?

They have said they will soon be trying something else but I have never seen them say the Rebellion is it for the Sins Franchise.

Reply #13 Top

Quoting Yarlen, reply 5
As I posted elsewhere (and many times before), 32-bit operating systems are limited to 2GB per process. The LAA trick doesn't avoid this either (it just shifts some bits around) and makes some systems unstable. Sins is a 32-bit game and there's nothing we can do to have it suddenly be 64-bit or change the inherent limitations of 32-bit tech.

Seem that Microsoft ( and me ) don't agree :

http://msdn.microsoft.com/en-us/library/aa366778%28v=vs.85%29.aspx

" User-mode virtual address space for each 32-bit process : Limit in on X86, Up to 3 GB with IMAGE_FILE_LARGE_ADDRESS_AWARE and 4GT"

Well, 3 GB seem not much but it is already 50% more memory... by example, the method is already used by photoshop... without making the system instable... only possible problem is that the system will have not enough memory if you run a mail server application by example ( not the case for 99.99% of your player )... can be easy to implement on Vista/win7 since only a few register key need to be modified... on XP, the boot.ini need to be modified...

By the way, there is numerous "technology" who extend 32-bit memory range, some of them are from the previous century... by example, PAE for 36 bits processor ( 1995, with the pentium pro and all following processor )... and when installing windows, if the Nx bit is enable in the bios, will install these PAE kernel...

A other interesting thing is the AWE ( Address Windowing Extension )... http://msdn.microsoft.com/en-us/library/aa366527.aspx ... not useful for the core program but i am thinking about the huge chunk of memory used by the cache of model, texture, entity, and more in the main memory... 

In fact, as today, there is no game who reach the memory limit of a 32 bit OS... who is 16 gb of ram with 4GT on x86 system... and it is not unstable since it is used on server mainframe ( who need to be more reliable that desktop PC !!! )... the real limitation are people who buy limited edition of their OS, basic and home version... but same for xp, since his service pack can use PAE, 4GT, AWE without problem... on your side, only AWE can be a problem since some major code need to be rewrite...

Really surprised to have a stardock guy who believe in these myth related to the 2gb limitation for 32 bit OS... the myth will fool a lot of people but not everyone... you have a lot of people on the forum with good knowledge ( lack of the 12yo people like on other game forum )... so, simply say that Stardock don't wish to work to much on sins and don't use a myth for excuse... Rebellion will be a full prized standalone, maybe put some time in it, for LAA and 4GT ( don't ask to much work ) who will increase the ram who can be used by a application from 2 to 3 gb ( 50% increase ) on 32 bit windows OS... or maybe used PAE for create a RAM disk for cache texture-model-entity, so RAM disk can be created over the 4gb limit ( max is 128gb for 32 bit versions with PAE enabled who do have a usable 37-bit , 36 bit+ Nx, else it is 64gb )

Reply #14 Top

Thoumsin, 32bit Windows OS can only use 3.someodd(can't remember the number) gigabytes of memory.  That's why you only see them sold with 4gb of RAM at most.  If the caps are a myth, then go tell MS to stop artificially limiting memory usage.  That page does NOT say that ANY developer can do anything whatsoever to get their programs to use more memory, it states plain and simple that 32bit can only use 2gigs of memory.  Go re-read your article.  Their server OSes can use more memory due to use of that function you mention, yes, but that doesn't help anyone though as almost no one plays games on a server grade computer(I'm not sure if things would even be compatible).  I would also say that servers have different function and don't do the same processes necessarily as games.

Changing the game to a 64bit format would entail rewriting the game, that is why they don't do it, pure and simple. 

 

JA_394, that is not a large difference, taking a year of development time for a free update(or even a paid expansion) to rewrite the game does not make sense, it is a non-option.  That only makes sense to do in sequels where they can charge full price and expect to get a large return.  Doing that would be like someone telling you that you should go redo a project at work for a year for no or halved pay that year.

Reply #15 Top

@Troa:

It depends on the kind of person you are, I guess. If it's something that enough people are asking for that the time required would be worth it then I'd do it. I do see your point, though.

Reply #16 Top

Quoting Troa, reply 14
Thoumsin, 32bit Windows OS can only use 3.someodd(can't remember the number) gigabytes of memory.

Your 3 gb and something is related to the 32 bits address range ( 4 gb ) minus address range used by material... by example, i my case, it is less that 3gb...

PAE simply allow you to put the address range from material over the 4gb limit... when it was introduced, it was a very instable thing mainly because several driver was not able to handle memory over these 4 gb... but as roday, it work perfectly... in fact, the WOW64 who is used for run 32 bits application on x64 windows used a similar way... 

So, same wiith PAE ( without any other trick )... the max is 4gb... where 2gb are for application and 2 gb for the system... now, editing register ( vista/win7 ) or the boot.ini ( xp ) allow to make 3gb for application and 1g for the system... in fact, in a non tuned 32 bit windows, the limit is at the best, 2gb for ALL application...

If the caps are a myth, then go tell MS to stop artificially limiting memory usage.

Will not happen... it is a license thing... more expensive license, more power in your windows version...

http://www.geoffchappell.com/viewer.htm?doc=notes/windows/license/memory.htm

Why Microsoft will change their money making trick???

That page does NOT say that ANY developer can do anything whatsoever to get their programs to use more memory, it states plain and simple that 32bit can only use 2gigs of memory.  Go re-read your article.

from the link posted up...

Application-level code and even most system-level code is entirely unconcerned and unaffected. Except for the operating system’s memory manager and for the relatively few drivers that work with physical memory addresses, most notably for Direct Memory Access (DMA), no 32-bit software needs any recoding to benefit from a more-than-32-bit physical address space.

For these who wish to test with Vista 32bit or Win7 32 bits... and extend to the real limit who is 128gb, look at http://zh-deepxw.blogspot.com/2009/04/readyfor4gb.html

Their server OSes can use more memory due to use of that function you mention, yes, but that doesn't help anyone though as almost no one plays games on a server grade computer(I'm not sure if things would even be compatible).  I would also say that servers have different function and don't do the same processes necessarily as games.

Well PAE and 3gb are found in WinXP ( from the service pack 2 ), Vista and win7 32 bits... you don't need a server version... for XP, it is only about edit the boot.ini and on Vista/Win7, about register key... there is no way to go over the 3gb ram without hack... or without server edition...

About playing game on server, it work... i have a work station who is somehow between a server and a desktop ( a server motherboard in a extended ATX case )... have numerous bios function for speed up everything, unfortunaly it is usually wrote "not for windows"... only problem that i have know with a few game is that not all game are able to see and use the two processor... multicore is not a problem... they are usually very old game...

In short, nothing stop developper to use the 3gb limit in place of the 2gb limit on 32 bit windows OS... photoshop use it... processing speed test with photoshop have show a increase of speed between 30 and 50% ( less need of the swap drive )... will not work for processor before the pentium pro and/or for XP before service pack 2 ( you have not the needed PAE kernel )...

from photoshop site ( maybe they lie, maybe i was wrong in my previous post, but it really seem that 2gb is not the limit for 32 bits OS...  ):

http://kb2.adobe.com/cps/320/320005.html

"Photoshop CS2 is a 32-bit application. When it runs on a 32-bit operating system, such as Windows 2000, Windows XP Professional, and Mac OS v10.2.8, it can access the first 2 GB of RAM on the computer. The operating system uses some of this RAM, so the Photoshop Memory Usage preference displays only a maximum of 1.6 or 1.7 GB of total available RAM. If you are running Windows XP Professional with Service Pack 2, you can set the 3 GB switch in the boot.ini file, which allows Photoshop to use up to 3 GB of RAM.

Important: The 3GB switch is a Microsoft switch and may not work with all computers. Contact Microsoft for instructions before you set the 3 GB switch, and for troubleshooting the switch. You can search on the Microsoft support page for 3gb for information on this switch."

For info, photoshop CS2 was released in April 2005... long before sins... the 3gb for application is not something new... but it seem that only myth resist the passage of time... 

Reply #17 Top

so basically we are  :omg: ed with a }:) fit for an elephant, right, because we currently have a huge mod that pushes everything about the game to the point that we tell people to limit themselves to all settings at medium and nothing more than 4 player matches on anything but the huge/huge-multimaps until we get 7DS into Diplomacy and figure out what's what with Rebellion?

 

Well, not speaking for the mod as a whole, but for modders everywhere... Here's to whoever makes a game similar to sins with the modability sins has that's also 64-bit, has better memory allocation/loading, or at least uses more than a single &*(#%$ cpu.

Reply #18 Top

Well, try to include TSOP optimization in 7DS, it can only help...

Or the planet model/UV that i have made 2 year ago for 7DS ( solar sins ) who will allow in the case of 7DS to spare a little more that 350mb of ram ( in the case of 7DS 2.1 )... recently, somebody else have use these planet model and make the .mesh... onscreen result is good, texture surface use are optimized at almost 100% and any texture at the ration 2/1 who can be found on the internet can be used ( it is virtually thousand of possible planet )...

Someone else have begin create mod tools who allow building mod in a modular way... very similar to my idea of dynamic mod.... 

These are a few of the idea who was post on the 7DS forum but that Dan, the boss, have never find the time to look at it...

It can help to make some very low poly models, something like the less that hundred triangle trade ship that i have made for the Halo mod...

Reply #19 Top

Quoting Thoumsin, reply 18
Well, try to include TSOP optimization in 7DS, it can only help...

No doubt... The Orion starbase textures alone account for 64 MB. TSOP reduced the texture that was based off originally to 5.4 meg each for a total of 16 meg.

Dropping your heavy starbase textures to 5.4 meg each would net 80 megs (128meg-48meg).

You also appear to have a set of textures that aren't compressed properly (8.193KB each) that are 2048x2048 textures. These should be 5.4 meg compressed.

Though I would recommend looking at all the textures that are 5.4 meg and determine if they could be scaled down to 2.7 or 1.3 meg.

Reducing all those textures to 2.7 meg would net a savings of 378 meg.

Reducing half of those textures to 2.7 meg would net a savings of 189 meg.

In all cases you should keep a master version of the original (unmodified, scaled, whatever) texture preferably in a non-loss format like tga. And then scaledown a duplicate of the image to the optimized tga where appropriate. Then use a tool like TheCompressonator to batch compress the game ready or optimized tga's to DDS/DXT5 with mipmaps. TheCompressonator so far does a really good job of not adding visible artifacts, unlike gimp for myself. Plus the batch feature makes preparing images really slick.

Quoting Thoumsin, reply 18
Or the planet model/UV that i have made 2 year ago for 7DS ( solar sins ) who will allow in the case of 7DS to spare a little more that 350mb of ram ( in the case of 7DS 2.1 )... recently, somebody else have use these planet model and make the .mesh... onscreen result is good, texture surface use are optimized at almost 100% and any texture at the ration 2/1 who can be found on the internet can be used ( it is virtually thousand of possible planet )...

It's posted and available to anyone. Cuts the texture sizes down to 2.7 meg. I'm using this in my mod now and plan to convert the Sins plus planets eventually.

Quoting Thoumsin, reply 18
Someone else have begin create mod tools who allow building mod in a modular way... very similar to my idea of dynamic mod....

I set this up for vermillion. It's pretty slick if I do say so myself. Problem for existing mod is the tight coupling already in place. Much easier to setup in the beginning of the process so I'm not sure if I can recommend it for 7ds. Though any new races could use it even with 7ds, just will have a larger learning curve associated with using it and can't just expect to plop it in.

 

Reply #20 Top

Quoting Thoumsin, reply 18
Well, try to include TSOP optimization in 7DS, it can only help...

Or the planet model/UV that i have made 2 year ago for 7DS ( solar sins ) who will allow in the case of 7DS to spare a little more that 350mb of ram ( in the case of 7DS 2.1 )... recently, somebody else have use these planet model and make the .mesh... onscreen result is good, texture surface use are optimized at almost 100% and any texture at the ration 2/1 who can be found on the internet can be used ( it is virtually thousand of possible planet )...

Someone else have begin create mod tools who allow building mod in a modular way... very similar to my idea of dynamic mod.... 

These are a few of the idea who was post on the 7DS forum but that Dan, the boss, have never find the time to look at it...

It can help to make some very low poly models, something like the less that hundred triangle trade ship that i have made for the Halo mod...

 

Just wanted you to know I am alive and well, and read you loud and clear.  Yes, life has gotten in the way, and continues to do so.  But I am striving to take all your advice to heart, especially when it comes to optimizing 7DS to fit within the 2gb limit.  I thank you for all your continued support and input to 7DS and DMG.  We would not be the same without you!

DANMAN

+1 Loading…
Reply #21 Top

Quoting JA_394, reply 8
So, they can do it. They just won't. Rather large difference, if you ask me.

 

your only thinking of your wants.  the devs have to build according to how they can make money off of it.  right now not everyone has a 64 bit computer nor can they afford one.

Reply #22 Top

As much as there is talk about making the game to a x64 system, why isn't there anybody commenting on the fact that the engine itself isn't efficient. As a programmer I noticed that there are a quite a few things that the engine isn't efficiently handling things, things such as sound and texturing. Perhaps a major tuneup on major systems of the engine will in turn increase performance while using less ram.

Reply #23 Top

Quoting ice27828, reply 22
As much as there is talk about making the game to a x64 system, why isn't there anybody commenting on the fact that the engine itself isn't efficient. As a programmer I noticed that there are a quite a few things that the engine isn't efficiently handling things, things such as sound and texturing. Perhaps a major tuneup on major systems of the engine will in turn increase performance while using less ram.

Well, the engine is somehow efficient...

By example, for the texture cached in memory... using opengl and a other OS, i was able to move the texture cached in the main memory directly to the graphic card memory... work great with my old 8800 Ultra 768 mb... work badly with my newer 9600 GT 512 mb... mainly because the 9600 graphic card have not enough ram for store all the texture...

Point is ... if sins was developed for a single type of hardware configuration, everything will be optimized for these hardware and be very very efficient but... it will not work on other hardware... since sins was targeted for run on low end system, it cannot exploit all the power from newer computer... it is not a problem of being efficient or not but about targeted customer...

Yes, the game is not really optimized for high end system with 2 processor with 4 cores each, 16 gb ram and more like my own system but it run on low end computer or laptop/palmtop with limited resource... a 64 bit directx 11 version will have a very limited target audience... as today, around 50% of computer remain using the good old windows XP 32 bits ( directx 9 )... Stardock being a business, they cannot ignore these 50% of potential customer...

In some way, it is the customer who slowdown the devs... if tomorrow, all potential customer was with a 64 bit OS, a lot of RAM, with directx 11 compatible graphic card, and more.... i am pretty sure that after tomorrow, devs will make rebellion 64 bits with directx 11... 

Reply #24 Top

The thing is that now 64 bit computing, and lots of ram IS the standard, but gaming companys (not just IC) still have yet to catch up. You will not walk into any leading computer center, and see any machine with windows XP (or vista for that matter) on any shelf.

Believe me i am not a computer elitist. I will still use old sempron cpu's with XP 32 bit any day, but where are those other 50% that still use XP? Certainly not here on these boards. If you read back through the years of past posts it seems like everyone has gods own computer with only few exceptions... Me being one of them. I beta tested Sins with an athlon xp 1900+, and i was ridiculed for having such a crappy system.

In a pc gaming world where each new game from the "other" guys (EA) forces you to upgrade, or get a new system just to play the game. I cannot see many gamers using anything less than 4 core cpu's at 3 gigs a pop, 64 bit windows 7. With at least 6 gigs of ram.

My point is that XP machines are becoming relics. Especially for hardcore gamers

Reply #25 Top

Major Stress a year ago I would probably argue with you on this point but looking around not only at work (which is starting to finally switch over to true 64-bit Win7 systems) as well as other gamers, it is true.

 

I still run a Pentium D 3.4Ghz Win7 Pro system (which plays sins beautifully) but I will upgrade when there is a reason. Sins 2 would be a reason. Outside of graphics cards computer hardware is relatively cheap in price for what you get. It's impressive.