They quote around 200 UPS average. It's hard to compare to the linked benchmarks because those quote p75 numbers instead of average, but it seems like the results are in the same general ballpark as the Ryzen 9 5950x.
0. https://factoriobox.1au.us/results/cpus?map=4c5f65003d84370f...
I think that the 13700k and 13900k with the same turbo ratio should perform almost the same in gaming workloads. The only difference should be in the 36 MB of LL cache vs. 30 MB. It's a modest difference, but factorio is memory subsystem performance sensitive.
I'll add a benchmark to that page in a few days with a 5.8 GHz clocked 13700k to test the theory.
That doesn't mean the 13700k can't match (or exceed) the out-of-box Factorio performance of the 13900k when given better memory, hence the score of 304 UPS.
https://factoriobox.1au.us/result/21784265-472e-4275-847c-dd...
Bonus: E-cores have thermal headroom at stock and can be stable at 4.5 GHz if given +0.1 V, but this cuts into the thermal headroom of the P-cores in all-core workloads and lowers the overall performance. Bumping to 4.3 GHz from 4.2 GHz with no voltage increase is stable.
I'm looking forward to your test results though as I'm considering building a new desktop around 13th gen.
I've been experimenting with different settings and found that unlimited PL2 and undervolting the CPU by -150mV give the best temperature to performance at ~80c during full load. It has been running stable for few days, and I'm pretty happy with the result so far.
Also, those numbers aren't far off the out-of-box behavior I had, but I like to tinker. I throttle with PL set to 190 but not at 180.
Rosetta 2 is not emulation, at all, it's AOT, static binary translation, backed by hardware that implements Intel specific behaviour from the latest chips down to the oldest 8080 or something. It's eerily fast.
In fact, it happens that arm64-translated x86_64 running on Apple Silicon can often be faster than x86_64 running on the latest Macs with Intel processors.
So you really have to ask two questions here:
- does the x86_64 Factorio build run faster on Apple Silicon than on a comparable† Intel?
- on Apple Silicon, does the arm64 Factorio build run faster than the x86_64 Factorio?
† whatever that means
So, it is hardware emulation.
Imagine you only speak English and you want to read a novel in French.
Emulation: you hire a translator to read the novel to you. They translate each word while reading.
Static translation: you hire a translator to transcribe the book from French to English. They give you a printed book purely in English. But simple French words like flâner and râler are expanded into lengthy passages because there is no simple English translation.
Rosetta 2: you hire the translator to transcribe the book to English, but they leave in unique French words and teach you what they mean so you can understand them in an English phrase without even noticing that the word isn’t “real” English.
Rosetta 2 isn’t emulation because no instruction is translated on the fly to a different ISA. It’s static translation plus ISA extensions. There is no lower level emulating anything.
It does have JIT translation (not a JIT "mode" though, as it always use AOT translation, only relying on JIT translation at runtime for the parts that need it)
> which is a bit more like conventional emulators
Not at all†, Rosetta 2 does the same†† translation step on dynamic Intel code, whose arm64 output can be reused afterwards
> But it's used infrequently, eg when dealing with x86_64 apps that themselves use a JIT
Yes, although it's more like "exceedingly rarely" in practice since usually those interpreters are up to date enough to have a native arm64 release.
See there for details: https://dougallj.wordpress.com/2022/11/09/why-is-rosetta-2-f...
† Unless you've been meaning dynarec, but I would not call that "conventional" although it is a well-known technique https://en.wikipedia.org/wiki/Dynamic_recompilation
†† IIUC minus a few things that can't be done when just-in-time because some assumptions are not guaranteed to be satisfied.
I could probably extend the metaphor to an avant garde French novel that asks the reader to look up and include today’s headlines from Le Monde, but it was already stretched.
> So, it is hardware emulation.
It's more like there's a full Intel CPU in disguise, only with instructions and registers having another name.
FPS: Despite being a 2D sprite game, sometimes it has trouble keeping FPS at 60, at least when running at max graphics and max zoom level with a graphically intensive mod. I would guess it's using OpenGL, and Apple's OpenGL stack isn't great. You can see the article mentioning the M1 Max only hitting 45 FPS in one of the tests, and this is without mods (but with a huge base and presumably a wide zoom level). In my experience, if you adjust the graphics settings appropriately (eg max sprite atlas size and max vram usage, since integrated graphics use unified memory), you can usually keep it at a smooth 60 FPS 99% of the time even in graphically-intensive setups with max or almost-max quality settings.
UPS: Scoring 199 UPS on the flame_sla 10k base puts the M1 Max above any other laptop processor for that benchmark. This matches my experience: the simulation part of the game almost never lags, except for unavoidably heavy operations (eg generating new worlds when playing with mods that do that). See a comparison at:
https://factoriobox.1au.us/results/cpus?map=4c5f65003d84370f...
It puts it above an EPYC 7763! I presume it wasn't using all 64 cores though.
I would not really care if my game library was going through Rosetta 2, as I'd rather take a theoretical performance hit (vs a native arm64 build) than outright be unable to play.
This kind of attitude just isn't conducive for gaming, where people like to build libraries in steam and expect everything to keep working for a long time.
On my PC, I can fire up games from 20 years ago and they work perfectly. Witcher 3, a 7 year old game, is getting an overhaul. I expect no problems in downloading it on steam from my library and playing it seamlessly on my relatively new PC.
IIRC win64 finally killed win16 support but that was rarely used for games and those games you can dosbox (which amusingly enough works fine on Mac in many cases).
https://hypertexthero.com/mac-video-games-for-streaming/
I try to keep it updated and suggestions are always welcome.
> The main Proton issue is that it runs on DXVK, and MoltenVK is not always up to parity with implementing Vulkan API calls on Metal reliably.
https://github.com/ValveSoftware/Proton/issues/1344#issuecom...
An alternative would be using CrossOver (which pulls from Wine and adds stuff like MoltenVK), which is what Proton does as well (pulling from Wine and adding stuff, but not MoltenVK) and vendors internally, Valve "just"† doesn't pull from the CrossOver changes nor expose Proton on macOS.
† scare quotes because it may not be as easy as it seems