Construct Games have very high RAM usage on Steam Deck

0 favourites
  • 12 posts
From the Asset Store
Casino? money? who knows? but the target is the same!
  • Ashley I've been scouring the Forums to see if anyone has brought this topic up and haven't found anyone mentioning this.

    A game like Garlic which is 300mb uses 7gb of the Steam Decks RAM while my game (BioGun) uses 8gb of RAM. My VRam is only using around 2.5 to 3.

    I don't know about Garlic but we have our Sprite Sheet size set to 1024*1024 in the project settings. We originally had 4096 and when we dropped it down to 1024 we barely see a difference being made. Maybe 300mb? Does anyone have an idea of what may be the cause of this?

  • 300mb to 7gb doesn't add up, so it must be in the emulation layer.

  • I totally agree. Something is really off and I really want to figure out what it is. Our game demo is unfortunately getting negative reviews mentioning Steam Deck's performance Steam. I would love to figure out the cause and hopefully a solution before we release our full game a few months from now.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • To specify, the build of BioGun thats playing in the screenshot above is an NW.js Linux version, 64bit.

  • Does it use that much memory on other platforms? If not, it's probably the Steam Deck using all that memory, not Construct, so it would be best to contact Valve for support.

  • The Ram usage on my PC is around 4.3. That is so odd that this is occurring. I wonder why Steam Deck would act differently. I'll reach out to them and see if I hear back from Steam support (though I highly doubt they will).

  • Discovered that turning off Pre-Load sounds in the Project Properties cuts 20% of RAM use. I also discovered that running the game on a Linux device doesn't have RAM issues. Only SteamDeck. And from what I can tell, the SteamDeck RAM use is doubling what its suppose to be.

    Edit: I received a message from a Linux user explaining that it indeed does eat a lot of RAM. Read the comment below for further details.

  • Does it use that much memory on other platforms? If not, it's probably the Steam Deck using all that memory, not Construct, so it would be best to contact Valve for support.

    A post was made on our Steam page that mentions this issue on their Linux. I've added a screenshot of what they wrote. It seems really interesting. Does this ring any bells for you?

  • Allocating virtual memory is not the same thing as actually using memory, so if the only thing we know is it allocates lots of virtual memory, that does not in itself mean there is any problem.

  • Guess they were expecting developers to generate a lot of content at runtime.

    Makes sense for 3d.

  • Allocating virtual memory is not the same thing as actually using memory, so if the only thing we know is it allocates lots of virtual memory, that does not in itself mean there is any problem.

    Here is a report from someone who uses Ubuntu 22.04.1 that the game uses over 6GB of RAM similar to SteamDeck when on the main menu before starting the game. That's when it jumps to 8GB. (Reminder that the game uses around 2GB of RAM in the menu and jumps to 4 while in-game on PC) This feels like it's confirming the idea that the RAM usage doubles for some reason.

    -> Ubunto Specs <-

    Unsure if giving the specs will help but I figured I would throw it in just in case. Do you think this is an NW.js issue?

  • Do you know exactly what type of measurement you're looking at when you say Linux is using lots of memory? Accounting for memory usage is actually a lot more complicated than you might think. For example in Task Manager, Windows splits memory usage in to the categories "In use", "In use (compressed)", "Modified", "Standby" and "Free", with further measurements for "committed", "paged pool", and "non-paged pool". The concept of "total memory use" depends on which of these categories you include. For example in Windows the "standby" category is used in the sense there is lots of potentially useful cached data and code stored in memory which can help optimize the use of the system; however if an application suddenly demanded lots more memory, it can generally just release all that memory and give it to the application. So it's not used in the sense it blocks other applications from allocating memory. On my system memory is 41% full if you count just "In use", but 92% full if you count both "In use" and "Standby"; only about 7% is actually categorised as "Free". So the measurements can be wildly different depending on what is being counted, and the meaning of the result is significantly different too: 92% in use might be a problem, but 92% in use and standby is not a problem, because 51% of that memory is still actually available to applications should they need it.

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)