Page 1 of 1

[2.0.46] Metal performace regression

Posted: Tue Apr 29, 2025 3:13 pm
by 0n0w1c
I updated to the new release for Mac OS and performance has taken a step back. Attached are two screenshots (windowed and full screen) with F5 enabled showing the FPS/UPS. No 3rd party mods, Space Age, Elevated Rails and Quality only on a new map. A quick test with 2.0 only, performance was better, runs at 60 FPS on a new map.

Re: Metal performace regression

Posted: Tue Apr 29, 2025 3:18 pm
by 0n0w1c
Second attempt to post image:

Re: Metal performace regression

Posted: Tue Apr 29, 2025 3:40 pm
by Loewchen
Post the log and add the version to the title please, see 3638.

Re: [2.0.46] Metal performace regression

Posted: Tue Apr 29, 2025 3:55 pm
by 0n0w1c
Title updated and attached the factorio-current.log. Space Age is active.

Re: [2.0.46] Metal performace regression

Posted: Tue Apr 29, 2025 4:07 pm
by 0n0w1c
Upon testing with 2.0.45 and the performance is the same.

Sorry, I should have tested more with 2.0.45, not a bug.

Re: [2.0.46] Metal performace regression

Posted: Tue Apr 29, 2025 4:14 pm
by Loewchen
You can try if disabling vsync helps.

Re: [2.0.46] Metal performace regression

Posted: Tue Apr 29, 2025 6:14 pm
by 0n0w1c
Sheesh, I had OpenGL active on the the initial reports.

This time, after making sure I have Metal enabled and a game restart, I get audio distortion on the initial load screen and a pink background at the menu.

Changing the sprite resolution from High to Medium resolves the audio and graphics glitches and it runs 60 FPS, at least for a new map.

Attached is my current graphics settings for a Mac Mini M1 8GB.

Re: [2.0.46] Metal performace regression

Posted: Tue Apr 29, 2025 10:48 pm
by 0n0w1c
Are there recommended settings for the use of the Metal backend on a Mac Mini M1 8GB with the Space Age DLC?

Edit:
Through more trial and error, it seems:
Reset to Graphics to the default settings
Enable Metal
Reduce video memory usage to Medium

This seems to eliminate the audio and video glitches, offers good sprite resolution, and 60 FPS with SA.
Without SA, the video memory usage can be set to All.

Re: [2.0.46] Metal performace regression

Posted: Mon May 05, 2025 10:40 am
by StrangePan
Hello, and thank you for your report and testing. The issues you're experiencing are related to those described in 128458.

In addition to adding the Metal backend, 2.0.45 also starts recognizing Apple's M-series GPUs and reclassifies them as higher-end, with higher default graphics settings. However, it doesn't properly account for the fact that Space Age can't comfortably fit into a Mac with 8 GB of memory. This is a bug that will be fixed soon-ish once I figure out what's causing the purple screens in 128458.

If you wouldn't mind confirming that 2.0.44 or 2.0.43 have better performance with default graphics settings, that would help get this resolved faster. In the mean time, you can reduce Factorio's memory footprint by setting texture compression quality to "Low quality", disabling high-quality animations, and disabling high-quality shadows. Thank you for testing out the Metal backend!

Re: [2.0.46] Metal performace regression

Posted: Tue May 06, 2025 3:52 am
by 0n0w1c
Yes, 128458 describes my experiences.

Using 2.0.43 w/ SA and default graphics settings, for the most part, the game runs at 60 fps.

With 2.0.47 w/ SA and default graphics settings: setting Graphics backend to Metal and texture compression to Low quality, no other adjustments required to run at 60 fps.

Code: Select all

   0.383 Display options: [FullScreen: false] [VSync: true] [UIScale: automatic (100.0%)] [Native DPI: true] [Screen: 255] [Special: lmW] [Lang: en]
   0.687 Video driver: cocoa
   0.687 Available displays: 1
   0.688  [0]: 0 - {[0,0], 2560x1440, SDL_PIXELFORMAT_ARGB8888, 60Hz, 0x0002(0x02)}
   0.731 Initialised Metal:[0] Apple M1
   0.731   [Size] Window: 1920x1080, Drawable: 3840x2160
   0.731   [Supports] depth16_format:yes, storage_mode_memoryless:yes, sampler_border_color:yes
   0.731   [Device] depth24_stencil8_format:NO, memoryless_render_targets:yes, nonprivate_depth_stencil:yes
   0.731   [Device] timestamp_counters:yes, invocation_counters:NO, draw_boundary_counters:NO, blit_boundary_counters:NO, stage_boundary_counters:yes
   0.731 Graphics settings preset: very-high
   0.731   Dedicated video memory size 5461 MB (detected from Apple M1; VendorID: 0x106b)
   0.740 Graphics options: [Graphics quality: high] [Video memory usage: all] [DXT: low-quality]
   0.740                   [Max threads (load/render): 32/8] [Max texture size: 0] [Tex.Stream.: false] [Rotation quality: normal] [Other: STDCWTl] [B:0,C:0,S:100]
   2.799 [Audio] Driver:coreaudio, Device:Default device, Depth:16, Frequency:44100, Channels:2, Interpolation:linear

Re: [2.0.46] Metal performace regression

Posted: Tue May 06, 2025 9:03 am
by StrangePan
Excellent, thank you for the feedback. A subsequent update will contain adjustments to the default settings for devices similar to yours so that manual adjustments are no longer required, and a fix for the magenta screens. Further updates will be posted to 128458.