64 bit?

Started by daedelus, December 24, 2016, 12:03:30 AM

Previous topic - Next topic

OFWG

According to the steam hardware survey, 95% of users are running a 64 bit OS. 32 bit is the niche at this point.

http://store.steampowered.com/hwsurvey
Quote from: sadpickle on August 01, 2018, 05:03:35 PM
I like how they saw the naked guy with no food and said, "what he needs is an SMG."

faltonico

Quote from: Zhentar on February 09, 2017, 01:30:59 PM
Incidentally, if you're experiencing out of memory crashes while caravanning, or late game slowdowns, you should check out Zhentar's Experimental Performance & Memory Fixes
Unfortunately your fix, even though is good, is not enough.

Apparently, the game is not meant to be to be played with mods nor the biggest map nor more than one colony.
To me, Tynan failed at the planing stage of his game.

Renegrade

Wow, excellent conversation.  Finally, some people who understand the concept of trade-offs.  64-bit (amd64) programs do have their downsides.

I'm a little surprised though that Rimworld ever gets memory constrained.  Those mods must be very intensive.  My current save (only moderately modded, heh) is using about 650 megs in Task Mangler....which is a bit higher than I expected, but not enormously so.

That being said, I'm also surprised there isn't an unsupported 64-bit version.  I rebuilt my own programs (C99+OpenGL) for 64-bit targets when I installed Visual Studio 2015, and had absolutely no problems whatsoever (aside from a slight run time increase of about 3-5%).  I generally use semi-enhanced INI-style files to store data (above basic INI/CFG-level complexity, but below XML), which gets rid of almost all the bugaboos of variable datatype sizes (and I'd never store an actual pointer-type.  I use relative offsets in binary formats, if applicable).  XML-based apps shouldn't have much difficulty either, as it's also a text/binary conversion.

I'm no C# expert, but I seem to recall that it's datatypes use fixed sizes anyways (int is always 32-bit, long is always 64-bit, IIRC), even if someone were audacious enough to use a binary file.

Quote from: OFWG on March 10, 2017, 02:27:56 PM
According to the steam hardware survey, 95% of users are running a 64 bit OS. 32 bit is the niche at this point.

http://store.steampowered.com/hwsurvey

I'd like to point out that a large percentage of these users are 4GB of RAM or less (35%), or 8GB of RAM or less (overall something like 60-70%).   They're actually at high risk of ending up in swap even from the memory pressure from 32-bit processes.   NB: I switched the stats to be Windows-specific for this data for simplicity's sake.

Putting a 64-bit OS on a machine like that is like putting a Ferrari emblem on your Pontiac Fiero and pretending that you have a supercar.  Or hooking it up to an 18-wheeler's trailer and pretending you have a transport truck.

They should have stayed with a 32-bit OS (especially the 4-and-unders -- which included an alarming number of 2GB systems).  Also it baffles me why people spend $700 on a video card and $30 on memory.  The $500 card has 92% of the performance of the $700 one (and is only about ten percent as likely to explode/catch fire), and would let them have 16 gigs easily (or Moarâ„¢, possibly.  I'm not current on memory prices).

Extra unused memory is used in pager/memory-protected type OSes as disk cache, so it never goes to waste unless you store all of your data on floppy disks.

milon

#33
IIRC, Unity's the limiting factor. It either doesn't have 64-bit support, or doesn't have it officially, or else it's a very early stage build that isn't stable at all - I forget which it is, but it's not ready to be the framework for a 64-bit RimWorld.

Edit - Here's what I was thinking of, although there's a chance it's out of date by now:
https://ludeon.com/forums/index.php?topic=9773.msg98407#msg98407

faltonico

Somebody on steam suggested this 4GB patch http://www.ntcore.com/4gb_patch.php In case somebody dares to try it.
I haven't tested it though, i have no colony running as of late, (scrapped my colony because of an out of memory error and some weird shite, who would have thought).

Calahan

#35
Quote from: milon on March 11, 2017, 06:28:48 PM
IIRC, Unity's the limiting factor. It either doesn't have 64-bit support, or doesn't have it officially, or else it's a very early stage build that isn't stable at all - I forget which it is, but it's not ready to be the framework for a 64-bit RimWorld.

Edit - Here's what I was thinking of, although there's a chance it's out of date by now:
https://ludeon.com/forums/index.php?topic=9773.msg98407#msg98407
Klei Entertainment's new game Oxygen Not Included uses Unity, and is 64-bit only. So I assume that comment is out of date now. (although I have no idea how many problems, or not, would occur in shifting a stable 32-bit Unity game to a stable 64-bit Unity game.)

Quote from: faltonico on March 12, 2017, 05:03:16 AM
Somebody on steam suggested this 4GB patch http://www.ntcore.com/4gb_patch.php In case somebody dares to try it.
I haven't tested it though, i have no colony running as of late, (scrapped my colony because of an out of memory error and some weird shite, who would have thought).
IIUC (although I'm not a programmer, so my understanding is not going to be 100% accurate), that 4GB utility is designed to make programs LAA (large address aware), and is designed primarily to benefit programs that are limited to 2GB RAM (due to not being LAA). So given that RimWorld regularly uses upto ~3.5-4GB RAM on people computers (and starts becoming unstable as a result), and that it uses Unity (which AFAIK is LAA), then it is probably unlikely that that  utility will do anything for RimWorld. (although I've used that utility myself several times for other games, and can't recall it ever breaking one of them. Not sure if it helped any of them though, but it didn't break any of them either. So that's something).

The following link seems to represent a good summary on 32-bit memory issues (although again, a programmer might have a different opinion on whether it is a "good summary" or not). http://wiki.tesnexus.com/index.php/2-4GB_game_memory_limits_and_solutions

harpo99999

there is another unity game that has both 32 bit and 64 bit versions (and is by a smaller developer( but still larger that ludeon studios) called payload studios) called terratech, currently terratech has issue when strting a game on 32 bit, but on 64 bit (even with the 32 bit exe) works fine. I think that terratech is using unity5 but do not actually know.

OFWG

Quote from: Calahan on March 12, 2017, 06:15:48 AM
... given that RimWorld regularly uses upto ~3.5-4GB RAM on people computers (and starts becoming unstable as a result) ...

Normal 32 bit programs can only use 2GB hard maximum, and on Windows more like 1.6GB because of I/O buffers and other housekeeping memory use. The 'upper' 2GB of the address space within each process is reserved for the system to use. LAA programs can use some of that, in practice about 1GB IIRC.

I definitely would not expect a non-LAA program that's been hacked to use large addressing to work without problems though.
Quote from: sadpickle on August 01, 2018, 05:03:35 PM
I like how they saw the naked guy with no food and said, "what he needs is an SMG."