• Hello [name]! Thanks for joining the GMC. Before making any posts in the Tech Support forum, can we suggest you read the forum rules? These are simple guidelines that we ask you to follow so that you can get the best help possible for your issue.

Question - IDE [SOLVED but still an issue] GMS2 Blue-Screened my PC and is using 10 GB of RAM

Anixias

Member
EDIT:
My issue has been resolved, technically. However, there is almost definitely some form of memory leak, a huge one, involving tiles. While I'm placing tiles, RAM increases by about 20 MB per second. Every time I save the project after editing tiles, RAM increases by 200-300 MB. Every single time I save. It will continue to go up until it causes my computer to give up and shut down.

Hi all.
I've been working on a new project for a few days now, remaking an old game I made a year or so ago. The old game had a custom map editor program I built in GMS2, but this time I was going to use the built-in room editor. The map size is 2048x2048 (each tile is 16x16). I have two Tile layers.

As I was drawing out the map, my computer got slower and slower (whole pc, not just GMS2). I checked in task manager and GMS2 was using 10 GB of my 16 GB of RAM. It usually only uses about 2 GB but I also usually use much, much smaller rooms. After checking the memory, my computer blue-screened.

What can I do about this?

EDIT: After restarting my PC and loading up the project, the game no longer compiles (381 warnings generated, it didn't do that last time). All of the warnings are like this:

Code:
.../default/Scripts/llvm-win/gml_RoomCC_rm_game_1_Create.gml.cpp:1:369: warning: null character ignored [-Wnull-character]
<U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000>
<U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000>
<U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000>
EDIT: The warnings went away once I opened the room, but the game still does not compile with this message at the bottom:
Code:
FAILED: Run Program Complete
For the details of why this build failed, please review the whole log above and also see your Compile Errors window.
The errors in question:
Code:
(Gamename).vars.o : error LNK2001: unresolved external symbol "void __cdecl gml_RoomCC_rm_game_0_Create(class CInstance *,class CInstance *)" (?gml_RoomCC_rm_game_0_Create@@YAXPAVCInstance@@0@Z)
(Gamename).vars.o : error LNK2001: unresolved external symbol "void __cdecl gml_RoomCC_rm_game_1_Create(class CInstance *,class CInstance *)" (?gml_RoomCC_rm_game_1_Create@@YAXPAVCInstance@@0@Z)
(Gamename).vars.o : error LNK2001: unresolved external symbol "void __cdecl gml_RoomCC_rm_game_2_Create(class CInstance *,class CInstance *)" (?gml_RoomCC_rm_game_2_Create@@YAXPAVCInstance@@0@Z)
Y:/(Gamename)_3782D67E_YYC\(Gamename).exe : fatal error LNK1120: 3 unresolved externals
Final: Total time = 0.203s
mt.exe : general error c101008d: Failed to write the updated manifest to the resource of file "Y:/(Gamename)_3782D67E_YYC\(Gamename)exe". The system cannot find the file specified.
EDIT: I deleted and replaced all controller instances in the room editor, cleaned the project, and the game now compiles correctly. It also isn't using nearly as much RAM, less than 1 GB. It seems that there might be a memory leak associated with drawing tiles. I used the rectangle and fill tools mostly.
 
Last edited:
C

Catastrophe

Guest
Well it wouldn't be the first long running memory leak involving tiles, so wouldn't be surprised >.>
 

Mert

Member
It seems like a huge memory leak. At normal conditions, windows should've crash coursed your game, but it is possible that sometimes it let the application run anyways.

If I were you, I'd look for memory leaks within my project.
 

Anixias

Member
The memory issue isn't with me running the game, it has nothing to do with my code or game. The issue is in the room editor. Also, my project is really empty so far, not much going on yet as I just started this game.
 

rIKmAN

Member
Not sure what happened here, but I use tiles and tilemaps pretty extensively in my project and have never had anything like that happen.

My rooms are also bigger than 2048x2048 in most cases and I use 2k or 4K tilemaps with 16x16 tiles, so I doubt it’s that as they are pretty standard numbers and sizes.

Seems more likely to be a memory leak in your game code that you aren’t aware of like Mert says.
 

Fern

Member
So uh it seems highly unlikely that you managed to see 10GB of memory usage because at about 3.5GB your game will simply crash (not a blue screen).

To use more than 4GB of RAM just isn't really possible since the VM and YYC runner for GM is 32-bit (on most of their platforms). The lack of 64-bit support has actually been a community request for a while.
If you were to see a tile related crash you'd have to use quite a lot of tiles. Assuming they are using a standard vertex buffer format a single tile wouldn't use more than 32 bytes of memory (that would actually be a lot of memory because they would need to be supporting unsigned 32-bit integers, and I highly doubt making a room that size is even possible).

Let's pretend that you could make a room that is about 100,000x100,00 (99,968x99,968 actually) then you would see 1562x1562 (64x64 pixel tiles) tiles in use. Alright so in total from top-left to bottom-right of your room that would be 2,439,844 tiles. Now let's math it out and see if we can get to 10GB~

If each tile is 32 bytes then you now are using 78,075,009 bytes or... 0.078~ gigabytes.

TL;DR

If your computer is using 10GB of memory then it's unrelated to Game Maker. ;)
 

xDGameStudios

GameMaker Staff
GameMaker Dev.
So uh it seems highly unlikely that you managed to see 10GB of memory usage because at about 3.5GB your game will simply crash (not a blue screen).

To use more than 4GB of RAM just isn't really possible since the VM and YYC runner for GM is 32-bit (on most of their platforms). The lack of 64-bit support has actually been a community request for a while.
If you were to see a tile related crash you'd have to use quite a lot of tiles. Assuming they are using a standard vertex buffer format a single tile wouldn't use more than 32 bytes of memory (that would actually be a lot of memory because they would need to be supporting unsigned 32-bit integers, and I highly doubt making a room that size is even possible).

Let's pretend that you could make a room that is about 100,000x100,00 (99,968x99,968 actually) then you would see 1562x1562 (64x64 pixel tiles) tiles in use. Alright so in total from top-left to bottom-right of your room that would be 2,439,844 tiles. Now let's math it out and see if we can get to 10GB~

If each tile is 32 bytes then you now are using 78,075,009 bytes or... 0.078~ gigabytes.

TL;DR

If your computer is using 10GB of memory then it's unrelated to Game Maker. ;)
I think the OP said it's is NOT a game thing it's the IDE that is eating 10Gb of RAM.
 
C

Catastrophe

Guest
In any case googling "game maker 'unresolved externals'" yields a single match, which turned out to be a legit bug in the IDE that was fixed. So you probably should be sending a bug report using the help>report a bug and your project file. I was noting earlier that tiles tended to have IDE bugs since they're not used as much.
 

rIKmAN

Member
I think the OP said it's is NOT a game thing it's the IDE that is eating 10Gb of RAM.
OP isn't using any excessive room sizes or anything out of the ordinary and i think if this was an IDE bug then we would have seen a lot more posts about it from others who use tiles including me who uses bigger rooms with many layers and large texture pages and have never had a problem even similar to this.

I'd take a bet on it being something on OPs system causing it - buggy and/or outdated drivers, Windows not up to date etc

What version of GMS2 did this happen with OP?
What version of Windows?
What are your system specs?
Is everything up to dat (Windows Update + drivers)

File a bug report and attach your ui.log file so YYG can investigate and find out what happened.
 

Anixias

Member
It is the IDE, not my game.

I am running the latest GMS2 builds and I have the most up-to-date windows 10 update. I have a fairly decent pc, I can run most games at 144fps at max graphics (dauntless, for example). I have a GTX 970 I believe, and 16 GB DDR3 RAM.

I have already filed a bug report.

Also, my room size is 32,768x32,768 with 16x16 tiles for a total of 2048x2048 tiles with multiple tilemaps. In the previous version of my game, I had made a world editor program using GMS2 and made the world 2048x2048 with 8x8 tiles, and it worked perfectly fine. The built-in room editor seems to have a memory leak associated with tile placement, at least in my case.
 
Last edited:

rIKmAN

Member
It is the IDE, not my game.

I am running the latest GMS2 builds and I have the most up-to-date windows 10 update. I have a fairly decent pc, I can run most games at 144fps at max graphics (dauntless, for example). I have a GTX 970 I believe, and 16 GB DDR3 RAM.

I have already filed a bug report.

Also, my room size is 32,768x32,768 with 16x16 tiles for a total of 2048x2048 tiles with multiple tilemaps. In the previous version of my game, I had made a world editor program using GMS2 and made the world 2048x2048 with 8x8 tiles, and it worked perfectly fine. The built-in room editor seems to have a memory leak associated with tile placement, at least in my case.
Let us know what happens with the bug report, though if you can’t reproduce it then it’s gonna be a difficult one to do much about.
 
Top