Archived

This topic is now archived and is closed to further replies.

Please be aware that the content of this thread may be outdated and no longer applicable.

Stoned

Is upgrading ram worth it?

Recommended Posts

Stoned    20

Did anybody check/test the impact of ram on game performance?

My system is an i7-7700k 4,8ghz, GeForce 1060 6 gb, 32 gb ddr4 3000.

Agreed consent, as far as I can see, is that the graphics card does not really matter. Cpu according to task manager never gets close to max load on any core. So the only part remaining seems to be the ram. I have no experience with overclocking ram, googling showed it is not a one dial operation.
If I upgrade to ddr4 4000+ or at least overclock mine, will I see any noticeable performance boost?

Share this post


Link to post
Share on other sites
Soulwind    303

No you won't.  If you were short on ram, then maybe,  but you're not.

32 gigs of ddr4 is plenty, and the difference in clock speeds wouldn't really be noticeable. 

Share this post


Link to post
Share on other sites
Angpaur    330
1 hour ago, Soulwind said:

No you won't.  If you were short on ram, then maybe,  but you're not.

32 gigs of ddr4 is plenty, and the difference in clock speeds wouldn't really be noticeable. 

And how do you know it won't be noticeable? Have you tested this?

Some time ago people were doing here tests based on running same save game and then posting results. One person with really fast ram had better results then others with similar CPU configs.

Share this post


Link to post
Share on other sites
bobucles    368

Faster RAM makes sense when you're working against a massive database of material. Oni doesn't really have a monolithic amount of data to manipulate. The map size isn't too large and it only needs 15 updates per second so I wouldn't be surprised if the RAM gets a lot of downtime. Any type of speed boost from faster RAM can likely be resolved with more clever prefetching games in the source code, to make better use of existing RAM potential. Don't ask me how it works though!

I don't remember seeing any hardcore tests to compare various CPU and RAM settings in ONI. 

Share this post


Link to post
Share on other sites
Coolthulhu    1049

Check ram usage when your game starts slowing down. If the game doesn't reach 50% ram usage, there is no way more ram will help, unless you also have 16 gb of random crap eating up the rest of it.

ONI is ram-heavy, but it's not "ram-obese" and will not eat up 16 gb, except when a patch has memory leaks.

Share this post


Link to post
Share on other sites
psusi    307

Slow ram speed will manifest itself as high CPU load.  That is, when the CPU is waiting for the ram, it is "busy", so if your CPU load is low, then you don't have a bottleneck either in the CPU or the ram.  It sounds like your system is already going full speed and is just waiting for the display vertical refresh.

 

Share this post


Link to post
Share on other sites
Stoned    20
2 hours ago, Angpaur said:

More info about RAM and importance of low latency here: 

 

Ty Angpur for the link, could not find qualified info on ram latency though. But it is quite a lot of chitchat about performance, I did not read all of it and maybe I missed the crucial information.

I will run some tests with overclocking next week, busy over the weekend. The problem is the AI lag, don‘t know if I can really benchmark that. FPS might not be the right figure to measure it. I will report any findings, maybe ram latency is the bottleneck.

Share this post


Link to post
Share on other sites
psusi    307
16 minutes ago, Stoned said:

maybe ram latency is the bottleneck.

Again, if RAM latency or bandwidth is the bottleneck, it will just look like a 100% busy CPU.

Share this post


Link to post
Share on other sites
melquiades    125
4 hours ago, Coolthulhu said:

ONI is ram-heavy, but it's not "ram-obese" and will not eat up 16 gb, except when a patch has memory leaks.

My 512x512 map GOBBLES 16 GB of ram, but gradually, and when it is getting near the 15 GB mark it starts stuttering. I will save money to throw even more RAM at my rig soon-ish

Share this post


Link to post
Share on other sites
psusi    307
4 hours ago, melquiades said:

My 512x512 map GOBBLES 16 GB of ram, but gradually, and when it is getting near the 15 GB mark it starts stuttering. I will save money to throw even more RAM at my rig soon-ish

Did that start happening with this last update?  Because I started maxing out my 16 gb of ram tonight after several hours of playing, but never have before.

Share this post


Link to post
Share on other sites
cpy    407

Faster RAM makes sense for code that uses lot of small instructions (Factorio). If you're doing less but more complex instructions RAM speed does not help much.

Share this post


Link to post
Share on other sites
melquiades    125
8 hours ago, psusi said:

Did that start happening with this last update?  Because I started maxing out my 16 gb of ram tonight after several hours of playing, but never have before.

It has been like that for a while now, even before release.

But i don't know if it is worse now, i have yet to play the new update.

Share this post


Link to post
Share on other sites
SackMaggie    169
On 11/22/2019 at 4:13 PM, Stoned said:

If I upgrade to ddr4 4000+ or at least overclock mine, will I see any noticeable performance boost?

If you go from 2000 MHz to 4000 MHz you will get around 5-15% fps (depends on the games). This is the same story when you compare poor motherboard to high-end one.

It wasn't big number like comparing cpu or gpu that you will see like 30% boost when you compared dated cpu to newer cpu one.

So your best bet to get overall better result would be this order (GPU or CPU) > Storage > Ram > Mother board and above all this is cooling and power.

Oh BTW the story that nobody will tell you is there's stuff like bandwidth cpu bus, chipset, etc to learn, And again it wasn't noticeable to the level that most people will just forget about it when building a PC.

Share this post


Link to post
Share on other sites
Gurgel    2102
20 hours ago, SackMaggie said:

Oh BTW the story that nobody will tell you is there's stuff like bandwidth cpu bus, chipset, etc to learn, And again it wasn't noticeable to the level that most people will just forget about it when building a PC.

Predicting performance is pretty tricky. For example, on current AMD, the fastest RAM does not give the best performance, because there is some potential loss when RAM and CPU need to interface at different speeds. Overall, RAM speed is pretty unimportant though, I completely agree on that. The reason is that most reads are served from cache anyways and most writes get buffered. That the CPU actually has to wait for main memory is pretty rare in the PC architecture.

Also remember that do feel a difference in speed (unless you do side-by-side comparison), you need at least something like 15% more total speed. Below that your brain just compensates and you do not get a better experience.

Share this post


Link to post
Share on other sites
SackMaggie    169
3 hours ago, Gurgel said:

The reason is that most reads are served from cache anyways and most writes get buffered. That the CPU actually has to wait for main memory is pretty rare in the PC architecture.

I can say that it always wait, There's no way you can load the entire game to the cache level. But the wait time was close to 0 second to the point that you don't noticed it.

You see CPU was operated at GHz right? and Ram was at MHz. If I tell you that there's a cycles of CPU asking around other component "Was it load yet?" will you believe it ? That's also the prove of waiting.

Anyway to sum up, Ram speed wasn't "That" important is our mutual agreement.

3 hours ago, Gurgel said:

Also remember that do feel a difference in speed (unless you do side-by-side comparison), you need at least something like 15% more total speed. Below that your brain just compensates and you do not get a better experience.

Some people just don't care about different experience they got but they care about numbers on the benchmark and say "Hey this one is faster" And I was like yeah but it just 0.3 faster why would you put 100$ more to get that. And they will say "Because I can".

Share this post


Link to post
Share on other sites
AMBLCO    16
19 hours ago, SackMaggie said:

You see CPU was operated at GHz right? and Ram was at MHz. If I tell you that there's a cycles of CPU asking around other component "Was it load yet?" will you believe it ? That's also the prove of waiting.

The CPU works at around 4GHz these days and Ram on the other hand works at around 3000MHz which is equal to 3GHz so there is a difference between them but not that much considering it's 4 or 3 billion operations per second when you are running at around 20 frames per second. The CPU always waits for lightly threaded workloads like ONI for other components to finish their task (bottleneck in this case) but no so much when it can do it in parallel like in highly threaded workloads.

Share this post


Link to post
Share on other sites
Derringer    30

Latency and transfer rate are two separate considerations. Transfer rate determines how quickly a line of consecutive bytes can be moved between DRAM and CPU cache, while latency determines how long it takes to switch to accessing a different location in memory. This is somewhat analogous to the difference between seek time and transfer rate on hard disks.

The performance of object-oriented simulation engines like ONI, Factorio, etc. is usually dominated by latency. Factorio ended up incorporating a micro-optimisation into its entity update loop: fire off a CPU cache prefetch request for the next entity's object data before processing the current one, to try to avoid waiting around for that object when its turn comes up.

Share this post


Link to post
Share on other sites
Junksteel    818

What would be the best setup to play ONI?

Intel or AMD? How much memory is enough to have 30 duplicants with no lag?

I don't understand much about building a PC but I will deffinitely build one. I'm tired to play with only 3-4 duplicants or stop playing with 10 of them when I reach space because of lag, stuttering and auto save consuming a considerable amount of play time.

Please help!!

Ps.: My PC took 4 attempts to load @OxCD game file. It crashed 3 times and when it finally did it... it was unplayble. :D

Share this post


Link to post
Share on other sites
OxCD    747
2 hours ago, Junksteel said:


Ps.: My PC took 4 attempts to load @OxCD game file. It crashed 3 times and when it finally did it... it was unplayble. :D

image.png.809b0ef92c139311e00b50d400e677f0.png

 

Share this post


Link to post
Share on other sites
Junksteel    818
31 minutes ago, suxkar said:

Which game save? I wanna melt my pc too!

Save posted in this thread here! Enjoy!
 



Don't forget to throw a steam turbine on top before the procedure.

Share this post


Link to post
Share on other sites
KittenIsAGeek    1661
On 11/23/2019 at 10:43 AM, SackMaggie said:

So your best bet to get overall better result would be this order (GPU or CPU) > Storage > Ram > Mother board and above all this is cooling and power.

For ONI specifically, the GPU is a non-issue.  If you have the graphics capability to run ONI, having a high end GPU will result in practically no difference from a low end one.  My GTX 750 Ti sits at about 5 to 6% utilization, which is the same utilization if I drag a window around the screen.

Also, for ONI specifically, you're moving a lot of data between the RAM and the CPU.  Once the game starts, the only time you're touching Storage is when the game autosaves.

In the case of ONI, I would put the order like this: CPU > RAM > Mother board > Storage > GPU.  Tied with the CPU position would also be adequate cooling.  ONI is continually crunching numbers in the CPU, which means you're generating heat.  Proper cooling can improve performance dramatically.

 

You can also improve performance by changing the design layout of your base.  Gas > Liquid > Solid.  Solid tiles only compute thermal transfers.  Gas tiles compute thermal transfers, mass transfers, and element transfers.  So wide open dug-out areas will cause more computation time than filling a place in with sandstone tiles.  Limiting critter areas reduces their pathing computations.  Limiting dupe movements reduces dupe pathing computations as well as job priority calculations.  Using bridges at pipe junctions reduces piping calculations.  Limiting splits and re-joins does as well. 

Usually most of these by themselves aren't really an issue, but they do add up as you progress into the late game stages.  You can sometimes improve performance a great deal by adjusting base layout, such as back-filling unused open areas with solid tiles.  Or fixing pipe layouts.  A while back someone posted a save that had some spaghetti piping.  After removing the excessive splits and joins, FPS improved by 10.

Share this post


Link to post
Share on other sites