• 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.

Mac OSX Room Editor Performance

M

MuddyMuddy

Guest
For the room editor, what is the limiting factor for performance? I’m getting a lot of lag with a few hundred objects in the room - I mean when I am placing objects, moving them around, Im getting extreme lag. Code editor is fine.

I am using a 2012 Mac with dedicated GPU, 8GB Ram and a 2.5ghz i5. Got a feeling its the GPU, but maybe a combination with the older i5. Looking to buy something new, but need to know what to focus on - like 16gb RAM, i7, new dedicated gaming GPU etc.

**edit - it’s 2.5ghz i5 cpu
Many thanks
 
Last edited by a moderator:

TsukaYuriko

☄️
Forum Staff
Moderator
The first think I'd suspect would be the CPU. 2.4 GHz is nothing nowadays. Try watching your CPU's load while using the room editor and see if it gets anywhere close to maxing out any of the cores.
 
M

MuddyMuddy

Guest
The first think I'd suspect would be the CPU. 2.4 GHz is nothing nowadays. Try watching your CPU's load while using the room editor and see if it gets anywhere close to maxing out any of the cores.
You may be right there, the CPU for GMS2 goes to over 100% when placing an object in the room
 

Freddy Jones

Your Main Detective
The first think I'd suspect would be the CPU. 2.4 GHz is nothing nowadays. Try watching your CPU's load while using the room editor and see if it gets anywhere close to maxing out any of the cores.
@TsukaYuriko
I would like to know what the minimum GPU speed, in your opinion, is then. If 2.4GHz is nothing, what would you consider a good standard that'd be worth the money for today's computing and, preferably, going forward?
 
It seems like the whole rig needs upgrading, but definitely start with the CPU. The only 2.4GHz Intel chips I know of are low-power/mobile CPUs. Since you're ideally looking for something with more cores for development, a good mid-range processor you can get right now would be a Ryzen 2600x. If you wouldn't mind waiting until July, the newly-announced AMD Zen 2 CPUs look to be a huge step up in performance -- equivalent to or faster than the leading Intel CPUs. I wouldn't recommend going with Intel at the moment due to not having any upgrade path and both mid- and high-end CPUs are fairly overpriced compared to the competition.


I would like to know what the minimum GPU speed, in your opinion, is then. If 2.4GHz is nothing, what would you consider a good standard that'd be worth the money for today's computing and, preferably, going forward?
You can't just compare CPUs on frequency alone. A "2.4GHz i5" could be anything from a near-decade-old i5-750S to something as new as an i5-8279U.
 

TsukaYuriko

☄️
Forum Staff
Moderator
@TsukaYuriko
I would like to know what the minimum GPU speed, in your opinion, is then. If 2.4GHz is nothing, what would you consider a good standard that'd be worth the money for today's computing and, preferably, going forward?
There's no such thing as a minimum. This is impossible to specify or even estimate. The closest you'd get is with benchmarks or real world test cases, and even those are not guaranteeing anything at all.

The exact performance you end up with (and this applies to any software/hardware combinations) all comes down to various hardware specifications which are by all means not limited to just the frequency (some of which I suspect even the manufacturers don't know exactly what they do due to their cryptic descriptions and marketing speech :p) weighted against the usage case, where "usage case" is an extremely broad term as it encompasses the hardware the software runs on, the operating system it runs on (some of them are insane performance drains), other software it runs alongside with (as they may be hogging performance), how CPU time slices are allocated (which can differ between operating systems, even more so if installed software messes with it), heck, even if it's summer or winter, as components may be downclocking themselves when they get too hot, which is easier to achieve in summer (or if you're one of those people who keep their radiator running 24/7 in winter, it might even be easier in winter), or if you're keeping the PC clean.

For those who may be chuckling now, I'm not even joking about the latter. If a PC's insides are so clogged up that its cooling systems can't work efficiently the way they were designed to do, the resulting thermal issues can lead to all sorts of problems. With a 7 year old device, this would be among the first things I'd suggest anyone who's facing performance problems to do (aside from scrapping it, of course).
 

Freddy Jones

Your Main Detective
There's no such thing as a minimum. This is impossible to specify or even estimate. The closest you'd get is with benchmarks or real world test cases, and even those are not guaranteeing anything at all.

The exact performance you end up with (and this applies to any software/hardware combinations) all comes down to various hardware specifications which are by all means not limited to just the frequency (some of which I suspect even the manufacturers don't know exactly what they do due to their cryptic descriptions and marketing speech :p) weighted against the usage case, where "usage case" is an extremely broad term as it encompasses the hardware the software runs on, the operating system it runs on (some of them are insane performance drains), other software it runs alongside with (as they may be hogging performance), how CPU time slices are allocated (which can differ between operating systems, even more so if installed software messes with it), heck, even if it's summer or winter, as components may be downclocking themselves when they get too hot, which is easier to achieve in summer (or if you're one of those people who keep their radiator running 24/7 in winter, it might even be easier in winter), or if you're keeping the PC clean.

For those who may be chuckling now, I'm not even joking about the latter. If a PC's insides are so clogged up that its cooling systems can't work efficiently the way they were designed to do, the resulting thermal issues can lead to all sorts of problems. With a 7 year old device, this would be among the first things I'd suggest anyone who's facing performance problems to do (aside from scrapping it, of course).
There's really only one reason I asked, though. You stated the speed was "nothing nowadays". So obviously that's below some ideal speed you're thinking of and if I was looking into a computer I'd want to know where a good starting speed is, or at least a reason for why 2.4GHz is not suitable. Hopefully, I explained my intentions better this time around!

But I see with your follow up reply you suggest it's a lot less to do with speed and a lot more to deal with the nuances of a proper build as well as looking at a processor beyond the "marketing" of its speed.


You can't just compare CPUs on frequency alone. A "2.4GHz i5" could be anything from a near-decade-old i5-750S to something as new as an i5-8279U.
My ophthalmologist says my I'm tunnel-sighted. If someone tells me that a speed, itself, is nothing, then I get confused! I was following up assuming Tsuka had something specific to say about numbers like this haha; you're right.


Given my own experience, it could be that your RAM is starting to slow down. RAM which starts to have issues and commonly has cache-misses then it could make the processor look slower. In my own computer, the hardware is pretty decent but the read/write is the slowest thing - I blame a faulty hard drive.
 
My ophthalmologist says my I'm tunnel-sighted. If someone tells me that a speed, itself, is nothing, then I get confused! I was following up assuming Tsuka had something specific to say about numbers like this haha; you're right.

Given my own experience, it could be that your RAM is starting to slow down. RAM which starts to have issues and commonly has cache-misses then it could make the processor look slower. In my own computer, the hardware is pretty decent but the read/write is the slowest thing - I blame a faulty hard drive.
If clock frequency was the only thing that mattered, AMD would have been destroying Intel for the past decade or so. Yet, the 6-core, 4.6GHz Core i5 9600k is faster than the FX-9590 -- an 8-core, 5GHz processor -- in every possible way. The real factor you want to look at for CPUs is a combination of Instructions Per Clock (IPC) and clock frequency. IPC is a relative measurement of how much a CPU can actually process within a certain amount of time. However, it's a fairly nebulous concept and you can't just put a straight number onto it. That's why frequency is always advertised instead; it's easy to market.

The reason Tsuka was saying 2.4GHz (apparently CPU is actually 2.5GHz) was slow was because it's about half of what common modern desktop processors run at. And sure enough, the only Core i5 CPUs that are 2.5GHz are either mobile or low-power chips. Really, there's not much choice when it comes to picking out a CPU. Here's how you'd want to choose:

- Is the CPU from this generation of standard desktop processors?
That leaves you with this:
Intel:
i3-9100
i3-9300
i3-9320
i3-9350k
i5-9400
i5-9500
i5-9600/k
i7-9700/k
i9-9900k

AMD:
Ryzen 3 2200G
Ryzen 3 2300
Ryzen 5 2400G
Ryzen 5 2500X
Ryzen 5 2600/X
Ryzen 7 2700/X

- Does the processor have a sufficient amount of cores for the use case?
Since we're using it for game development, you'll want a decent amount of cores and threads. I don't know exactly how much GMS2 leverages the CPU, but nowadays a good starting point is 6 cores/12 threads. This cuts options significantly:
Intel:
i7-9700/k (8 cores, 8 threads)
i9-9900k (8 cores, 16 threads)

AMD:
Ryzen 5 2600/X (6 cores, 12 threads)
Ryzen 7 2700/X (8 cores, 16 threads)
At this point, you really only have 4 major options covering a price range from $150 to $499. Going for the k/X SKU is a very minor choice that depends on if you think a bit of extra power is worth the small premium. Intel k CPUs can be manually overclocked. AMD Zen X CPUs will automatically overclock themselves to a reasonable level.

Of course, AMD is set to launch a new generation of CPUs on July 7th, so these options will be very different soon enough.
 
TLDR : If possible, upgrade your RAM to 16GB and your CPU if your device allows it. I don't think the GPU would have a large a impact as these two components. However, any more recent system you purchase will probably perform better overall, thanks to advances in the tech which would come with the newer motherboard, faster RAM speeds and newer CPU technology.

---

I have a Mac mini (late 2012) with a 2.5GHz i5-3210M CPU, 16GB RAM, Intel HD 4000 GPU. The CPU can boost to 3.1GHz when under load, and drops to around 1.5 GHz when not required.

I did a quick test, I made a dummy project, with one object and sprite, no code or events.

I placed 1000 of the object into the room.

I noticed when I select the object in the resource tree, and then hold down the ALT key and left-click within the room to place the object, there is a lag of about 3 seconds where the IDE locks up before control is returned and I can place another object using the ALT-mouse click method.

However, when I drag and drop the object from the resource tree into the room, there is no lag / lock up, and I can drag and drop another instance of the object into the room immediately.

I find this interesting, that two different methods of adding instance to the room, one is always immediate, the other lags, suggesting a difference in the way the two methods are coded, although the exact result is the same.

Also selecting an instance within the room, then using CTRL+C to copy it then CTRL + V to paste a copy into the room also has the 3 second lock up/lag of the IDE.

For another test, if I select a bunch of instances, starting around 200 or more, then dragging them around starts to get a bit laggy. But even if I select all 1000, while there is a little lag, its still usable, there's about a half a second lag between the mouse movement and updating the positions of the instances.

Repositioning a single instance (out of the 1000 in the room) by dragging it around the room there is no lag.

From this, I can tentatively say RAM is probably a small factor, CPU would be a slightly bigger factor in the overall performance. However, given my examples above, where one method has lag while the other does not, suggests something in the IDE code itself it not optimised for certain user interactions.

And finally, obviously any newer system, with a recent motherboard, CPU, RAM and GPU, all of which support a higher data throughput and processing speed, would perform better than upgrading any single component.

Even if upgrading your CPU, GPU and RAM was an option, they are still limited by the underlying technology incorporated in your motherboard, so that would still be a limiting factor.
 

TsukaYuriko

☄️
Forum Staff
Moderator
There's really only one reason I asked, though. You stated the speed was "nothing nowadays". So obviously that's below some ideal speed you're thinking of and if I was looking into a computer I'd want to know where a good starting speed is, or at least a reason for why 2.4GHz is not suitable. Hopefully, I explained my intentions better this time around!
I see. Thank you for clarifying! :)

In addition to what @nacho_chicken mentioned, I should probably clarify one thing as well. I believe the intent behind my original statement would have been clearer if I had said "a CPU from 2012 with 2.5 GHz is nothing nowadays" - at least I assume that the hardware of OP's device has not been upgraded since nothing of the sort was mentioned - as there is no way a CPU from that era can compete with current-day ones, especially since it seems to be a low-end one (as the year coupled with the indicated frequency essentially rules out the possibility of it being one of the high-end ones from that generation). We'd have to know the exact model to say for sure, but that would only be to say for sure how bad, not if, it is according to the current-day standards.

@MuddyMuddy: Motherboard limitations have been mentioned here and there already, but allow me to stress how important this is since you seem to be looking to upgrade the hardware of this device. Even the newest line-up of CPU, RAM and GPU won't do you any good if your device's motherboard does not support them. We're not talking about a mere "limitation" in terms of possible performance increase here, but about total incompatibility. Research extensively whether it is even possible to upgrade to any piece of hardware you pick, as the motherboard is the (main) determining factor in this regard.

I'd say that something with a motherboard from 2012 has no chance of being compatible with any recent hardware, so you're probably better off scrapping the entire thing, because if you start with replacing the motherboard, your other, older components will most likely no longer be compatible as well (CPU socket, RAM slots... GPU probably has the best chances of still working as PCIe slots are the most backwards compatible and least changing out of all these) and you may need to get a new power supply unit to adequately meet the new components' probably higher power drain. It would be the equivalent of trying to renew your house's foundation, walls and roof - it's more likely to collapse on itself than you are to succeed at renewing everything, and it's probably easier to build/buy a new one.
 
Top