you are viewing a single comment's thread
view the rest of the comments
[+] -12 points 2 years ago (1 child)

Fair enough, but to the end user it doesn't matter if it works.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 39 points 2 years ago (5 children)

    to the end user it doesn’t matter if it works.

    Emulation is always slower and eats more battery. Microsoft's laziness is proof they don't care about that hardware, so may just as well buy an iPad Pro instead.

  • source
  • parent
  • hideshow 10 child comments
  • [–] 4 points 2 years ago (1 child)

    This is a pretty interesting counter example: https://www.eteknix.com/running-yuzu-on-switch-gives-you-better-performance-than-native-gaming/

    But, as others have said, exceptions confirm the rule.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 2 points 2 years ago (1 child)

    Yuzu can exhibit superior performance because the Switch is rocking the Tegra X1 from 2015. Yuzu absolutely cannot beat the Switch with contemporary hardware and/or comparable power consumption.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 2 points 2 years ago (1 child)

    But yuzu was running on the switch in that example. So it was beating the switch on contemporary hardware.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 3 points 2 years ago* (1 child)

    Oh yeah, clearly I did not read the article well. Still, it doesn’t mean what you think it does.

    First, Yuzu is more of an alternative API implementation than an emulator in this setup. The stock Switch OS and API implementation have been entirely replaced with Linux and the Yuzu implementation of the API. Given recent performance uplifts in the Linux kernel, I’m not surprised that Linux+Yuzu beats the first-party implementation.

    Second, the use of the word “emulation” in the above thread is really a misnomer: Rosetta 2, Prism and the like all perform what is called dynamic ISA translation. Yuzu need not perform ISA translation when running on ARM hardware.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 1 point 2 years ago (1 child)

    I'm also not surprised and I still find it amusing. The ISA translation is something I never actually thought about in emulation

  • source
  • parent
  • hideshow 2 child comments
  • [–] 2 points 2 years ago

    It is always quite amusing to see a billion dollar corporation beaten in its own game :)

    More information/context, if you’re curious:

    Rosetta 2 in particular isn’t full emulation because the API is the same for both architectures - it is only dynamic ISA translation. I expect that Prism will be slightly closer to full emulation; there is simply no way Microsoft will reimplement all of the legacy Windows APIs on ARM.

    WINE is a great example of something that is also not a full emulator, but for the opposite reason: it does not perform any ISA translation or hardware emulation, but rather only syscall (API) translation.

  • source
  • parent
  • [–] 2 points 2 years ago (1 child)

    Its not laziness, they have lost developers support over time and lets be honest here, Windows 8 arm was roundly laughed out the door. Expectations are now marketing hallucinated by copilot.

    This is typical Microsoft “agile”: minimum effort and delivery.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 0 points 2 years ago (2 children)

    Emulation is almost always slower and eats more battery.

    FTFY. There have been some cases where emulation actually outperforms native execution, though these might be, "the exceptions that prove the rule." For example, in the early days of World of Warcraft, it actually ran better on WINE on Linux than natively on Windows.

  • source
  • parent
  • hideshow 4 child comments
  • [–] 20 points 2 years ago (1 child)

    For example, in the early days of World of Warcraft, it actually ran better on WINE on Linux than natively on Windows.

    WINE literally stands for "WINE Is Not an Emulator".

  • source
  • parent
  • hideshow 2 child comments
  • [–] 9 points 2 years ago (1 child)

    To be fair this is also a translation layer and not an emulator.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 5 points 2 years ago (1 child)

    To be fair this is also a translation layer and not an emulator.

    Prism is an x86 emulator for ARM. If you think that Prism is "a translation layer and not an emulator", I refer you to the very first word of the second to last paragraph of the submitted article.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 1 point 2 years ago (1 child)

    That's assuming the writer knows what they're talking about. Last line from the second paragraph:

    Windows 11 has similar translation capabilities, and with the Windows 11 24H2 update, that app translation technology is getting a name: Prism.

    And first line from the third paragraph.

    Microsoft says that Prism isn’t just a new name for the same old translation technology.

  • source
  • parent
  • hideshow 2 child comments
  • [–] -3 points 2 years ago* (last edited 2 years ago) (1 child)

    That’s assuming the writer knows what they’re talking about.

    Certainly more than you because Prism emulates an x86 CPU and WINE doesn't, therefore the WINE comparison is still wrong.

    Edit: Please prove the writer wrong.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 2 points 2 years ago (1 child)

    This article seems to conflate "emulation" and "translation layer". I don't think there is anything that confirms "Prism emulates an x86 CPU", only that it allows for running x86 code on ARM. This does not inherently require emulation as demonstrated by Rosetta 2, which is a translation layer.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 4 points 2 years ago* (1 child)

    only that it allows for running x86 code on ARM. This does not inherently require emulation as demonstrated by Rosetta 2, which is a translation layer.

    WINE doesn't "translate" one CPU architecture to another CPU architecture either, so the WINE comparison is still wrong, no mater if CPU translation is called emulation by you or not. WINE is a wrapper for API calls within the same CPU architecture. That's it.

  • source
  • parent
  • hideshow 2 child comments
  • [–] -5 points 2 years ago (1 child)

    WINE doesn’t “translate” one CPU architecture to another CPU architecture

    Wrong again.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 4 points 2 years ago* (last edited 2 years ago)

    "Windows apps are mostly compiled for x86 and they won't run on ARM with bare Wine"

    What you linked is an effort to combine WINE with the QEMU x86 emulator which is an emulator because it emulates CPU calls. Hint that it's an emulator is in the name "QEMU" and an actual quote from the wiki page you linked and clearly didn't care to read: "Running Windows/x86 Applications: See Emulation"

    EDIT: Let me also quote from the readme file of the Hangover project:

    Hangover uses various emulators as DLLs (pick one that suits your needs, e.g. works for you) to only emulate the application you want to run instead of emulating a complete Wine installation.

  • source
  • parent