YoYoGames / GameMaker-Bugs

Public tracking for GameMaker bugs
15 stars 7 forks source link

Native Metal Renderer for Mac IDE #2857

Open NanoSharkGames opened 8 months ago

NanoSharkGames commented 8 months ago

Is your feature request related to a problem?

When using the Mac IDE on my Apple Silicon device, I notice that it uses a substantial amount of energy & therefore drains the battery quicker. The Energy Impact when the IDE is in focus, according to Activity Monitor, is in the hundreds. Having the IDE open for a long period of time makes the problem worse, which may be unrelated to the renderer that the IDE uses.

There are two things I am unsure of the following in relation to the previously mentioned high energy usage problem:

  1. If the Mac IDE using the OpenGL renderer instead of native Metal is the culprit.
  2. If switching to full-on Metal rendering will fix the problem, meaning improved performance & efficiency.

Describe the solution you'd like

I would like the Mac IDE to render via Apple's Metal graphics API natively without translation from OpenGL or Vulkan. If OpenGL needs to stay available for the Mac IDE, I would suggest giving the user the option to choose to the IDE's renderer. If implemented, I would hope the implementation would improve energy efficiency on my Mac while using the IDE.

Describe alternatives you've considered

I keep using GameMaker with OpenGL or Vulkan translation.

Additional context

No response

NanoSharkGames commented 5 months ago

It has been brought to my attention on the GM Discord server that the OpenGL renderer that the Mac IDE uses is already being translated to the Metal graphics API. Also, I am told that the Mac IDE can be run via the Vulkan (MoltenMK) renderer with a command line parameter, but have been unable to get it working on my machine.

With all that said, I am still interested in the Mac IDE having an option for the engine to be rewritten for the Metal renderer natively (without translations from other rendering APIs) for better performance & efficiency.

I have updated the original report for clarity & to reflect the new information I received.