Тёмный

x86 Emulation on Arm CPUs - Better on Windows or macOS? 

Gary Explains
Подписаться 313 тыс.
Просмотров 45 тыс.
50% 1

Опубликовано:

 

11 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 499   
@soragranda
@soragranda 9 месяцев назад
Probably one of the most necessary videos for ARM enthusiasts.
@Hempage
@Hempage 9 месяцев назад
I imagine a lot of the skepticism of Windows' x86-64 emulation is a result of the slow processors that came on the first Windows-on-Arm laptops, which would make a task running twice as slow feel MUCH slower.
@antonior.revueltapuigdolle6643
@antonior.revueltapuigdolle6643 9 месяцев назад
I’m almost an only Mac User since 1989 and I’m very grateful for this impartial review. Videos like this are the only way we have to assure that Apple keeps on improving their hardware. The more companies compete, the better products we’ll all have. It’s a win-win for Windows, Apple, Linux and other systems users. I’ve been following you for years and will remain doing so.
@btrewern
@btrewern 3 месяца назад
As I remember, Rosetta 2 does some type of translation on the first run of an application. This takes a certain amount of time but is cached so the second run of any application will be faster than the first. This would be worth testing to see if affects your findings.
@streakydanco
@streakydanco 9 месяцев назад
I can't wait for ARM to take off on Windows. I'll definitely get an ARM Laptop, great battery life and decent performance is all I've always wanted on Windows. I hope Microsoft encourages enough developers to port their apps over soon 😁😄
@AbhTri-kq8hc
@AbhTri-kq8hc 9 месяцев назад
Also, hoping to see powerful mini PCs
@MichaelAlderete
@MichaelAlderete 9 месяцев назад
You have hit the nail on the head. Apple didn't give developers a choice, it was "Go ARM, or go home." All new hardware is Apple Silicon, and Apple was pushing developers towards compatibility (and immediate cross-compilation) via deprecations of various things (64-bit only, no 64-bit Carbon, etc.) for years _before_ Apple Silicon was even announced. For Windows, the vast majority of devices being shipped today - like, 95+% - is still x86-based. Where's the incentive to developers to make ARM-based versions of their apps available? It doesn't exist. If the process is not "check a box, compile, ship" easy, they're not going to do it. Not for years.
@edwarddodge7937
@edwarddodge7937 9 месяцев назад
Just do what I did and pick up a Dell Inspiron with Snapdragon ARM processor for ~$280. Black Friday sale.
@streakydanco
@streakydanco 9 месяцев назад
@@edwarddodge7937 how good is the performance?
@streakydanco
@streakydanco 9 месяцев назад
@@MichaelAlderete I don't find the x86 instruction set useless. I don't mind owning an x86 desktop as long as I'm getting that top notch performance. I just need that efficiency of ARM for laptops and small form factor PCs. There has to be a way for Windows to convince developers to port over without trying to get rid of x86. I think both of them can coexist side-by-side.
@nextlifeonearth
@nextlifeonearth 9 месяцев назад
I would like to see the Linux version of this video. Linux on ARM has also risen over the last few years and emulation of X86 has been a part of that too. I wonder how well that works.
@esra_erimez
@esra_erimez 9 месяцев назад
*Agreed*
@arthurpizza
@arthurpizza 9 месяцев назад
For my setup literately the only program that needs to be translated is Steam. Everything else has a native arm build.
@broccoloodle
@broccoloodle 9 месяцев назад
In every video, there is always a guy asking for results on linux 😂😂
@commieTerminator
@commieTerminator 9 месяцев назад
​@@broccoloodlewho doesn't like 🐧?
@rrarrrr
@rrarrrr 9 месяцев назад
​​@@arthurpizzaI noticed 2 years ago on Docker Hub that there was only 1 image I wanted to run that didn't have an Arm version. Last time I checked a few months ago, that one had an Arm version too.
@espi742
@espi742 9 месяцев назад
I think the real advantage, that was confused as "better emulation", is just that Apple CPUs have been so much faster than the ARM CPUs Qualcomm has been using on their SoCs. It doesn't matter if your emulation layer is just as fast if your CPU is half as fast. I hope Oryon competes 1:1 against Apple and makes Windows on ARM a solid product.
@gerdya6301
@gerdya6301 9 месяцев назад
Totally this! People who were claiming bad emulation performance under Windows did wrongly compare running the same code under emulation vs. much faster Intel CPU.
@nevzataydin1
@nevzataydin1 9 месяцев назад
when first surface pro x was on the shelf, many applications cannot even use graphic unit of the qualcomm chip. and not to mention 64bit support came two years later? i don't know current situation, as there is almost no content about it, but microsoft made a terrible start on emulation front.
@vytah
@vytah 23 дня назад
Apple CPUs implement Total Store Ordering, which is a feature of x64 and is about correctly handling memory accesses in multithreaded code. Without it, you need to generate slower ARM code that does store ordering manually. Also, Apple CPUs have a setting that changes how some status flags work , so that they work more like x64 flags, and adds some flag-related instructions. This makes the code easier to convert and also faster.
@markholle3450
@markholle3450 9 месяцев назад
The end-user experience is what matters. I’ve rooted for the Surface Pro X since its arrival. But the performance has been slower and software has been limited. While the back-end experience might be similar, the results in everyday use have been not. Snapdragon’s new chip has raised hopes once again (particularly when you see who created the new tech). But let’s see if the hardware will give us similar performance that we see on a M1 MBA.
@erikhaugan3043
@erikhaugan3043 9 месяцев назад
One of the claims Apple made about their emulation approach was that it would improve over time. The first time it translated X86_64 code it would be slow, but the second time it would be much faster. Can you think of a way to test this? The understanding I have of how this worked, is that the translated code would be stored, and re-used the next time it was needed.
@JxcksonSF
@JxcksonSF 9 месяцев назад
Im pretty sure they where talking about getting better with every update, not "on the fly improvement"
@erikhaugan3043
@erikhaugan3043 9 месяцев назад
@@JxcksonSF The way it was explained: “If an executable contains only Intel instructions, macOS automatically launches Rosetta and begins the translation process. When translation finishes, the system launches the translated executable in place of the original. However, the translation process takes time, so users might perceive that translated apps launch or run more slowly at times,” So, every component that is translated is saved as an Apple Silicon native executable.
@raianmr2843
@raianmr2843 3 месяца назад
This seems like a relatively simple Just-Ahead-of-Time-like optimization that doesn't suffer from any big obstacles. This is already a super common idea in other corners of the tech landscape e.g., installing apps on Android, the Julia programming language, and so on. Considering windowsy things like powershell or dotnet already do optimizations like this, this is probably already planned / implemented.
@themenon
@themenon 9 месяцев назад
End of the day it depends on user preference. But love to see linux running on proper ARM platforms... that will just be amazing!
@1funnygame
@1funnygame 4 месяца назад
I've been using it a lot for the Raspberry Pi 5, and the support has been impeccable. I haven't run into any software that didn't have an ARM build available
@jerrinjos3593
@jerrinjos3593 3 месяца назад
@@1funnygame I did my Engineering final project on Raspberry Pi 4b and was truly amazed by it's capabilities. It even ran a full CNN model i did for my project, although I was a little annoyed by Pi team updating the Pi Camera libraries and it took me some time to figure out the new functions and how to use them.
@gerdya6301
@gerdya6301 9 месяцев назад
I also did a few tests with box64 - the most popular Linux solution for x86-64 emulation for arm64. In all my test box64 was quite a bit slower than both Windows and MacOS provided emulation.
@Silent.killer_007
@Silent.killer_007 9 месяцев назад
I wonder if we could install windows arm version on androids in future? Currently we can run box64 and other windows emulators already.
@DigitalJedi
@DigitalJedi 9 месяцев назад
@@Silent.killer_007 There are already some projects that do that to some phones. I can't think of which off the top of my head, but I very strongly remember seeing some older Snapdragon phones getting WOA ported to them through software wizardry beyond my comprehension.
@speedracer123222
@speedracer123222 3 месяца назад
I would prefer comparison with fex-emu also as it also has 32 bit emulation built in instead of separated solutions.
@rickkarrer8370
@rickkarrer8370 3 месяца назад
Thanks for getting the hard numbers on this. I think because I ARM translation got off on a rocky start on Windows, it got a bad reputation. For example, a client of mine had all kinds of issues running x64 code on their Surface Pro years ago. Mostly it was just lack of compatibility, but those were early days. I think because Apple comes out the door 100% working, and has a very good hypenmarketing system, there's just a complete different perception in the two companies. Now, I'm watching this 6 months later, and Microsoft just announced a whole bunch of new ARM "Copilot" computers, two he translation and compatibility is probably even better now, or at least fully matured.
@prides11
@prides11 9 месяцев назад
Thanks for clearing up the misconceptions.
@GaryExplains
@GaryExplains 9 месяцев назад
Glad it was helpful!
@soragranda
@soragranda 9 месяцев назад
Most people comments about microsoft x86 emulation might from before volterra, it was a mess at the beginning compared to apple, but it not only improve but also show us what can be done. Wanna see what X elite can do, hopefully the game emulation scene can get as mature as apple's one is now.
@bulletpunch9317
@bulletpunch9317 9 месяцев назад
Game emulation seems to pretty good on linux from that switch linux video by geekerwan, switch runs gow lol
@marcinoo97
@marcinoo97 9 месяцев назад
It would be a lot better if u have used latest insider build on windows 11 as some emulation improvements have been made there.
@abdullahk0405
@abdullahk0405 9 месяцев назад
I bet it would perform worse if i know microsoft even a little
@hanspeter9592
@hanspeter9592 9 месяцев назад
Do you recommend to use the insider builds? I'm currently using pro 9 sq3
@marcinoo97
@marcinoo97 9 месяцев назад
@@hanspeter9592 I'm using insider builds in my main x64 pc. All my arm PCs dual boot insider and stable.
@MrPerrisC
@MrPerrisC 7 месяцев назад
@@hanspeter9592 I liked being an insider, never noticed any degradation in performance, and at times noticed nice bump, I'm not on supported 11 hardware and 11 ran faster, but I had to go back to 10 when I sent the laptop in for accident insurance repair. Make sure you get constant images, especially of the build before you begin, after a short while insider deletes your on drive roll back image. In other words, of course, keep current images and a permanent image of the build before insider
@HappyFPV
@HappyFPV 9 месяцев назад
I really like to see the application you wrote for the test. Window is heavily using dll’s even for standard c library functions. So how sure are you that it didn’t use arm based code on windows?
@SassInYourClass
@SassInYourClass 8 месяцев назад
The “not actually emulating x86” revelation is major, and the new Snapdragon chip is a critically important recent update to consider surrounding this topic.
@jeevana.6391
@jeevana.6391 9 месяцев назад
It may be that the Windows emulation has improved over time. IIRC when the Surface X came out, benchmarks showed that emulated software performed much worse vs native. Then when the M1 Macbooks first came out, reviews were showing much better emulation performance vs. Windows. It also could have been the issue you mentioned where MacOS still runs apps with the Arm library, although it was so early in the Apple silicon lifespan that I'm not sure if the apps had a fat version at the time. I don't remember all of the reviews I watched covering both, but I remember LTT being one of them.
@TamasKiss-yk4st
@TamasKiss-yk4st 9 месяцев назад
True, i also remember something like this, but the problem here is that it was 3 years ago, and people still use that as excuse, but it seems the Windows 11 inside emulator is better like the individualy installed versions in Windows 10 (so when the M1 released). Good to see even Windows are serious about ARM.
@jeevana.6391
@jeevana.6391 9 месяцев назад
@@TamasKiss-yk4st Well to be fair, Microsoft hasn't really made any splash about Windows on ARM, so people probably assumed it was dead or not a priority. We're probably going to see that change once devices with the new Qualcomm chips launch and Microsoft has some sort of event.
@lesleyhaan116
@lesleyhaan116 8 месяцев назад
@@jeevana.6391 they haven’t since 2012 that’s 12 years ago
@spiderlily218
@spiderlily218 9 месяцев назад
Now do linux vs win vs Mac arm emulation comparison for us 3% linux users.
@GaryExplains
@GaryExplains 9 месяцев назад
Tempting! 😀 But if this video get 10,000 views then I don't think it is really worth me making another video for an additional 300 views! 😛
@bulletpunch9317
@bulletpunch9317 9 месяцев назад
​@@GaryExplainsis youtube your sole income source now?
@EstTisco
@EstTisco 9 месяцев назад
Not a Linux user here, but definitely interested in the "vs Linux" part/video if it ever comes.
@t.s.4494
@t.s.4494 9 месяцев назад
Gary, I'm sorry, but this is a terrible explainer. Apple does have a real technology advantage in this area against Windows on Arm. (Or at least they did as of a year or two ago.) The first part of it is memory ordering. Loosely speaking, this refers to the order in which an observing CPU core sees memory writes generated by other processor cores. x86 implements an ordering model called TSO, in which all writes are observed strictly in program order. Arm has a weaker model which permits some reordering - the writer might think it wrote thing #1 followed by thing #2, but an observer could see write #2 before #1. The practical implications of this are that (a) Arm processors can gain performance thanks to the extra reordering possibilities but (b) programs written for Arm may need more explicit thread synchronization when two threads interact. What does that have to do with emulation? Well, if your Arm processor takes full advantage of the reordering possibilities permitted by the Arm spec, every emulated x86 memory write will need to be treated as a thread synchronization point. Most memory writes aren't actually critical to interactions between threads, but the emulator has no way to guess which ones are important and which aren't, so it has to treat them all as if thread safety depends on it. Doing this in an emulator is expensive! It adds a lot to the count of Arm instructions executed per x86 instruction, and the extra instructions are relatively slow. For a while, Windows-on-Arm offered users the ability to tune emulator settings on a per-app basis to basically ignore this problem (risking bugs and crashes) in return for better performance. Worked great for applications that were completely single threaded, but not a great idea for anything with multiple threads. What did Apple do to address this? They added a custom mode bit to their Arm cores which enforces x86-style TSO memory ordering instead of the looser Arm ordering model. Whenever the macOS kernel starts running an x86 process, it shifts that CPU core into TSO mode. Hardware TSO support greatly reduces the overhead of emulating x86 in a completely thread-safe and correct way. The next piece is what kind of emulator Rosetta is. It actually supports two modes, JIT (just-in-time) and AOT (ahead-of-time). The JIT mode is a fallback to support self-modifying x86 code. In AOT mode, the first time you run an x86 binary, Rosetta completely recompiles it to Arm code, caches the results on disk, then launches the cached Arm binary. Subsequent runs skip the recompilation step and just launch the Arm-ified binary. As of a year or two ago, as far as I'm aware, neither of these pieces of technology were available in any WoA system - WoA's emulator was pure JIT (more runtime overhead), no WoA silicon implemented TSO, and even if it had done, Windows' x86 emulation didn't support it. I am not current on new events in this space, so some or all of that might have changed, or will in the future. (In particular, I expect Qualcomm's Oryon to support TSO - its CPU core was designed by a team lead by Gerard Williams, who was formerly employed by Apple and led the team that designed M1.) By the way, the AOT mode means there is a possible flaw in your benchmarking methodology. If you generate an x86 binary (whether by compilation or LIPO-ing a fat binary), that invalidates the AOT cache for that binary and the next launch will force Rosetta to re-translate it. This is a large amount of overhead and, depending on how you did your testing, could have skewed your numbers a lot. Rosetta users will normally experience one oddly slow program launch followed by excellent performance for months (basically, until either Rosetta self-invalidates the cache because Rosetta got updated and they want to re-translate, or the x86 program gets updated forcing a re-translation).
@magicflyinggekko8587
@magicflyinggekko8587 9 месяцев назад
The main reason why Windows x64 emulation is worse than Mac is due to the fact that only on Windows are some applications not properly working or failing altogether due to the used Intel math library or R not producing the same results as under actual x64 chip. Point in case Python + Pandas or own source compiled against Intel Math library (fails when executing Intel library calls) or Intel versions of R fail or break at times when running in the x64 emu on Arm. The same can be found when using commercial products that rely on those libraries as well The speed, while important, doesn't matter as much as the quality of the emulation. Also, I'd actually argue that it is a better solution if your emulation can map system calls to native Arm libs rather than to x64 libs if it is transparent and results in faster speed. This is not cheating by Apple but by design and the superior solution: faster and less error-prone when you reduce the emulated code execution.
@shahnawazshahin3781
@shahnawazshahin3781 9 месяцев назад
Interesting topic. My guess as to why people have not responded with the facts that macOS on ARM performing better than Windows on ARM is because its not about the quantity and benchmarks, but the behaviour and experiences of how well the apps run on those platforms. So it's things like the number of apps that are supported, how well they run, signs of slow downs, glitches, etc that are harder to quantify (unless we conduct surveys with users). So making use of ARM libraries when available is a good optimisation technique, thus providing better experiences. But there are limitations, such as the lack of nested virtualisation if you're running VMs.
@GaryExplains
@GaryExplains 9 месяцев назад
Maybe, but nobody replied with talk of those things either. The actual reason is that someone probably said it wasn't good in some review on a popular website and everyone just believed it and continue to regurgitate the same stuff without actually verifying if it is true or not. This phenomena doesn't only apply to this subject but many. I am kind of acting as a myth buster in that sense.
@gr-os4gd
@gr-os4gd 9 месяцев назад
@@GaryExplains On RU-vid?? Unpossible!! 😜
@shrk96
@shrk96 9 месяцев назад
Additionally, didn't AppleSilicon have hardware to assist with x86-64 emulation? It was something to do with memory, but do pardon. My memory is hazy since I'd read about it when M1 initially launched with Rosetta!
@shahnawazshahin3781
@shahnawazshahin3781 9 месяцев назад
@@GaryExplains Thanks Gary. Appreciate what you've done here. Granted I don't have evidence to suggest this, but it just feels that Apple's has done a really good job in implementing and providing developer support for ARM. I guess the years of experience the've had with iOS contributes to this. My experience with desktop Linux on ARM (via Parallels and Raspberry Pi) is quite good but rather limited (e.g. Linux Mint is not being available for ARM, some tools and libraries not available). As for Windows, I can only test this on Parallels (so I can't test WSL), but I'm surprised that some games on Steam runs well (like Dying Light). That said, I often can't help resorting to x86 when running desktop Linux and Windows for the better experience.
@zonk1477
@zonk1477 5 месяцев назад
​@@shahnawazshahin3781yes that is correct. The memory does assist in a way as the memory in apple silicon devices is laid out and designed the way x86 based systems memory is. As apparently ARM based systems use a different memory design. So apple gets the best of both worlds by using an ARM processor but having memory built the x86 way. This means it's likely impossible to get ARM windows on an ARM based MAC. The processor is correct but that OS would not be designed for how apple is doing the memory in the system. Apple does it this way for the best of both worlds I guess. But it's all a custom build.
@BahaaBarakat
@BahaaBarakat 9 месяцев назад
Windows just did not have competitive ARM hardware to run on compared to Apple silicone so people just assumed it ran poorly when the reality is it was running on much weaker hardware. Should be interesting to see how Windows & x86 emulation on Snapdragon Elite will perform in real life now that it's on a comparable platform to the M series.
@PopStrikers
@PopStrikers 8 месяцев назад
Perhaps I'm just dumb, I'm not a developer, but isn't this test mostly semantics? Maybe Rosetta 2 isn't strictly emulation, but with the weird ARM stuff Apple uses with it, the end result for the user is a pretty seamless transition from the debut of Apple Silicon. I know personally, the reason I thought Windows on ARM was so bad was that the Surface Pro X got absulutely roasted on release for being nigh unusable with most x64 applications. It seems like, instead of being like "Well when you make the experience completely like for like, they're both as slow" the better option would be "Make sure Windows 12 or whatever release brings ARM mainstream pulls the same under the hood sleight of hand Rosetta 2 did, because the transition will be much slower and more complicated with the more fragmented Windows ecosystem, so any advantage they can get will be even more important."
@xanrygaming4239
@xanrygaming4239 9 месяцев назад
This one of the best non bias video. Thanks for always making these brilliant video. Still love my M2 Mac 😊
@olafschluter706
@olafschluter706 9 месяцев назад
Note that Microsoft has officially cancelled support for Windows 10 on ARM. So there is only Windows 11 on ARM. It lives happily within a Parallels Desktop VM on my Mac mini and receives all patches and function upgrades including the recently released 23H2. I bet the claims of Rosetta 2 being the better "emulation" stems from Windows 10 on ARM which had x86 emulation only and it was a real emulation, whereas Rosetta 2 uses JIT compilation of x64 code to ARM. Windows introduced JIT along with the x64-Support in Windows 11 on ARM. On Windows 11 on ARM, JIT compilation is only available for x64-Code (as it is in Rosetta 2 as there is no longer support for x86-Code in macOS for years now).
@mukukakondowe5939
@mukukakondowe5939 9 месяцев назад
Lovely, hope you do a an energy efficiency comparison between apple's m3 vs snapdragon x elite.
@rudranilghosh2713
@rudranilghosh2713 9 месяцев назад
That is great insight and really good journalism Gary. Really waiting to use new fanless ARM laptops in 2024.
@daniel29263
@daniel29263 3 месяца назад
This makes a lot of sense if one think about the incentives. Apple wants the devs to quickly port apps over to Arm, so they only care that x86 just works and don't care too much about speed. Microsoft knows that a lot of devs will never port to Arm, hence they need to optimize better.
@wesseldutoit8217
@wesseldutoit8217 9 месяцев назад
As someone who prefers Apple (wont call myself a fan boy, but know people will call me a fan boy), the reality is that up until now (with the release of the snapdragon X elite) Windows didnt have a ARM based chip that was comparable to the Apple chips (meaning that the previous ARM chip that the Surface used wasnt as good as Apple Sillicon), therefore in real world use you will always have the experience the Apple emulation of x86 to be better than Windows. I think it is only now that it can be possible to really compare the two. I do think that because Apple has moved away from x86 machines as a whole forcing developers to create native versions, that Apple will will be beter than Windows on ARM (as great as the SD X Elite is I dont think that it is enough to get developers to create native ARM versions and therefore will always have to emulate programs and as mentioned in the video native is always better than emulation
@ramseyrodriguez8515
@ramseyrodriguez8515 9 месяцев назад
Another thing, it’s the same name (Rosetta) but it’s not the same technology in either, it’s just emulation tailored to the OSs and type of binaries.
@amiraloi1694
@amiraloi1694 9 месяцев назад
Can you please test fedora or ubuntu on it? I wonder if we can finally have some good arm hardware to run linux on
@nickwind2584
@nickwind2584 9 месяцев назад
Very timely. Just upgrading from i9 to M3 and I’m having quite a bit of architecture anxiety.
@shadmansudipto7287
@shadmansudipto7287 9 месяцев назад
The slaves making your apple parts in China are having a different kind of anxiety.
@nidalspam509
@nidalspam509 9 месяцев назад
@@shadmansudipto7287 there isn't much difference on the pc side either you know.
@SunsetNova
@SunsetNova 9 месяцев назад
You won’t be disappointed. Apple silicon smokes Intel
@crazed357
@crazed357 9 месяцев назад
@@shadmansudipto7287turn on your front facing camera on the Chinese device you’re holding and take a good look at yourself.
@synen
@synen 9 месяцев назад
@@SunsetNovaIntel 14th gen is faster and when comparing against Nvidia GPUs it is not even a fair game. Additionally Apple Silicon cannot be upgraded, your only advantage is on power consumption which provides impressive battery life but that's it mate.
@El.Duder-ino
@El.Duder-ino 9 месяцев назад
Very cool and great to know👍 So why Apple silicon always wins against Windows ARM PC? Better chip & code optimization? Or is it because till now, with the X-Elite chip released Windows never had similar high performance ARM chip like that comparable to the Apple’s Mx family?
@PJSOFT
@PJSOFT 4 месяца назад
That's why Qualcomm bought Nuvia.
@El.Duder-ino
@El.Duder-ino 4 месяца назад
@@PJSOFT Nuvia (ex Apple chief chip designers) was developing custom Arm server cores which Qualcomm adopted after their acquisition and is targeting for the Windows PCs. This is why their cores in comparison to Apple cores run with higher wattage and lower efficiency (efficiency cores r also missing on the X-Elite chips). What Apple does incredibly well is their ULTRA efficiency on both HW & SW side where both of these worlds r amazingly well connected and optimized. U can say that Apple's HW architecture (not just cores or chips) is designed specifically for the SW to run faster and more efficiently. This "only Apple" advantage gives Apple incredible control=power and always better performance per watt in comparison to X-Elite and any other Arm based SoC with of course almost endless budget to afford latest and most advanced chip manufacturing/packaging/interconnect processes.
@PJSOFT
@PJSOFT 4 месяца назад
@@El.Duder-ino You should have replied to your own comment, so I didn't have to.
@smecio
@smecio 9 месяцев назад
I love to know more about the absolute amounts of time taken to convert the same video source on both platforms in native and emulated modes
@GaryExplains
@GaryExplains 9 месяцев назад
I can see the need for such comparison but I think there has been enough benchmarking of the M1 vs other Arm laptop processors. Doesn't add much at this point. Also for video encoding the test should include whatever hardware acceleration is available. When the Snapdragon X Elite is out then this will certainly need revisiting.
@jtland4842
@jtland4842 9 месяцев назад
Alright this is really good to hear. I think the main difference now is the level of native support for Arm on Windows vs on Mac so that transaction layer is unfortunately going to be used much more frequently on Windows compared to MacOS. Since MacOS's primary architecture has been ARM in new PC's since M1 came out in 2020 compared to windows where it is much less. Microsoft quoted a piece of research by Counterpoint which stated that ARM laptop marketshare is 14% right now but that includes Apple. There is a Tom's Hardware news story from 2022 that said that Apple had 90% of the ARM pc market. From both of those reports I would generously estimate that Windows on Arm is 2% of PC marketshare which is something that Microsoft is going to have to put in a lot of effort to change and only then will most devs care enough to make ARM versions of their apps.
@adolfomartin5456
@adolfomartin5456 3 месяца назад
The problem is emulation: Apple forced software companies to compile after some time all their software to ARM, so currently there is no problem with new apps. Microsoft cannot do that.
@FlyingPhilUK
@FlyingPhilUK 9 месяцев назад
Looks good.... looking forward to when I can buy a proper ARM-based PC! Hopefully sometime next year..
@aiSage48
@aiSage48 3 месяца назад
it's here now :) Next year was right :D
@FlyingPhilUK
@FlyingPhilUK 3 месяца назад
@@aiSage48 I'm still interested in how well these ARM based PCs will run x86/x64 based s/w compared to native 14700K...
@RodrigoDeVincenzoMonteiro
@RodrigoDeVincenzoMonteiro 9 месяцев назад
Now I just imagined implications of Apple selling arm64 CPU in the wild to Windows hardware vendors... crazy idea, maybe I've been drinking too much coffee today... Gary, great review and explanations again, thanks!
@techzolute
@techzolute 3 месяца назад
The new Windows emulator with X SoCs actually has a name. It's talk Prism.
@DesignTechie
@DesignTechie 9 месяцев назад
I recall Adobe announcing arm. Development of their suite back before apples switched to m1. I was mainly excited because of the possibility of the native version being rewritten and ported to the iPad but given this. Knowledge I’m excited to see when a surface book ships with a snapdragon elite
@IvoPavlik
@IvoPavlik 6 месяцев назад
What I'm missing here is more technical detail on the character of your own test code. What kind of CPU load was it? Was it more arithmetic kind of computation? Did it access a lot of memory? Did it have complicated branching structure? Was it single-threaded or multi-threaded? Did it use x-86 extension instructions? How did the first run differ from the subsequent ones? Etc. It would be super interesting to see how different kinds of load behave in the emulation environment. In the HandBrake case, for example, you can see that the code is most probably heavily low-level optimized for the native architecture. Anyway, the point of your video - negligible difference between Mac and Win low-level emulation performance - seems to hold pretty well and that's great news. Let's see how Microsoft solves the end-user Win-on-Arm experience.
@autarchprinceps
@autarchprinceps 9 месяцев назад
What I'd love to know, is how good Linux support will be on the new Snapdragon X Elite Laptops. I know native software support is actually pretty great, thanks to both RaspberryPi & Neoverse servers. But I heard from current Windows Snapdragon device owners, that boot & driver support for installing Linux has been fairly bad for the most part. Hope that changes, if it hasn't already. I'd love to have a Snapdragon X Elite Linux Developer Laptop.
@Zomboy4313
@Zomboy4313 3 месяца назад
One thing I will say is that even if the emulation is just as good in either, developers will go to arm quicker on macOS due to it being a forced step forward, whereas windows isn’t as straightforward, but it’s good to see windows on arm
@MichaelElfial
@MichaelElfial 9 месяцев назад
The Windows problems were not related to the underlying platform, but wit the stubborn wish to make us use that modern UI/windowsRT/whatever. If they compile everything, it will be Ok. It was in the past, there was NT for many platforms, Windows CE was compiled for many CPUs, I for once remember compiling for at least 5 different processors and I can't remember how many platforms with them (had about 30 targets), but there was no CPU transaltion in CE. Other thing to remember is that initially Windows NT was in then called "p"-code and everything was translated! And this was when having 32 megs of RAM required you to be quite a rich person. So, the history is long and Windows is in that game from the beginning, but today considering that many people call the front end UI an Operating System, the difference from decades ago is that everybody can talk and not only those who know what is actually inside the devices.
@TalesOfTheJimny
@TalesOfTheJimny 5 месяцев назад
One has to write x86 code to specifically use instruction set like SSE2 , Larger virtual address space, various types of modes. This should be job of linker and complier, which if not configured, would default to most optimised binary.
@alcorza3567
@alcorza3567 9 месяцев назад
Fantastic video Gary! Very clearly explains your methodology and clearly shows the results. Awesome!
@GaryExplains
@GaryExplains 9 месяцев назад
Glad you enjoyed it
@tzeimet
@tzeimet 3 месяца назад
Thanks for the comparison, it's really interesting to see how far emulation has come now that Microsoft is releasing consumer hardware with the Snapdragon Elite chips.
@jamieknight326
@jamieknight326 9 месяцев назад
This was really useful. Thanks for taking the time to share the stats. It’s impressive it works at all. It’s nice to have options, though it’s slow enough if wasn’t viable for our use case. Half the speed meant wasting a heap of developer time waiting for tests to run. We wanted to keep it simple when our business transitioned to ARM a few years ago. We aligned our hardware refresh cycles and deployment planning to do it in one step. We adopted ARM workstations and moved our production load to AWS Graviton processes on the same day. In the end it was as simple as changing a flag in a docker build command and changing a setting on AWS. Roughly speaking, it’s working out about 40% cheaper than x86 was. The monthly AWS savings paid off the new workstation costs in under a year. The only x86 processor in my life is the one in my gaming PC.
@PJSOFT
@PJSOFT 4 месяца назад
Another thing to test is compatibility. You can refer to the lists of most used PC software and test them on both platforms to see how well they run.
@GaryExplains
@GaryExplains 4 месяца назад
Except obviously they are different on each platform, so other than the name i.e Microsoft Word, there is little commonality between the actual code running.
@PJSOFT
@PJSOFT 4 месяца назад
@@GaryExplains and I think many people want to know how smooth or buggy they are. It's useless if it runs everything fast but crashes every 10 seconds.
@Pro720HyperMaster720
@Pro720HyperMaster720 9 месяцев назад
I say Rosetta 2 is better than Windows emulation layer not based on raw operation per operation performance but looking to what is able to run and whatnot, the vast majority of x86 games that you try to run on Windows on ARM would not work or work terribly unlike on macOS, and don’t get me wrong I’m an avid Windows user, but I would like to see a comparison of Shadow Of The Tomb Raider x86 running on Rosetta 2 and Windows on ARM and see how it behave
@GaryExplains
@GaryExplains 9 месяцев назад
Indeed, but that is also harder because it depends on the GPU performance as well.
@Pro720HyperMaster720
@Pro720HyperMaster720 9 месяцев назад
@@GaryExplains To be fair I don’t think is as much GPU performance issue than it is the plethora of graphic APIs and legacy versions of them. Apple may decide to only support in Rosetta 2, Metal and a deprecated version of OpenGL and get away with it as most games would run with the implementation they have on that, if the software used something different would be “that old” that it wouldn’t run on a x86 current macOS anyways. While Microsoft to get a emulation layer as useful as Apple in apps that rely on GPUs need to implement a lot of versions of DirectX, OpenGL and Vulkan and I think the DirectX front is what is weighing the emulation layer down, is hard work but I think they should put more effort in making all games work, albeit slower, right now many will crash and give errors, It also may be a problem older versions of Visual C++ redistributables, but to be honest I don’t know how it behaves on that front. I would love if the percentage of success in running x86 programs was equal or higher than macOS, but doing so will essentially require much more work due to all the legacy stuff, I think
@micksmithson6724
@micksmithson6724 9 месяцев назад
As the former owner of the 1st gen Surface Pro X, (Boy was that a mistake), the X86 emulation was initially limited to 32 bit code and was bloody awful and very slow. Videos like this showing an M1 Macbook Air running Win10 via Parallels vs An SPX showed that something was wrong, either with the SQ1 SOC or Win10. ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-4p_7GqF0nTA.html Cue lots of "the fastest Win 10 ARM laptop is a Mac" stories.
@GaryExplains
@GaryExplains 9 месяцев назад
Things have moved on significantly.
@gerdya6301
@gerdya6301 9 месяцев назад
There is nothing wrong and not surprising either. The M1 CPU just happened to be more than 2x faster than the Cortex A76 in the SQ1.
@GaryExplains
@GaryExplains 9 месяцев назад
LOL, no. You have completely misunderstood how I did the testing.
@primoroy
@primoroy 3 месяца назад
FINALLY! A REAL comparison. Thank you!
@SpanishCandle
@SpanishCandle 9 месяцев назад
Could it be that the code tested is IO/memory bottlenecked on the Windows device, and therefore the emulation penalty is irrelevant on Windows, but relevant on the MacOS device (because it has higher memory bandwidth and therefore CPU bottlenecked)?
@GaryExplains
@GaryExplains 9 месяцев назад
My code isn't io based. And I doubt handbrake can create data faster than the SSD can write it.
@SpanishCandle
@SpanishCandle 9 месяцев назад
@@GaryExplains Are you happy to share your code? It doesn't access memory at all?
@SpanishCandle
@SpanishCandle 9 месяцев назад
Doesn't have to be I/O in the sense of networking or SSD. I'm thinking memory bandwidth
@GaryExplains
@GaryExplains 9 месяцев назад
Most of my code is in GitHub, just pick any of my tests and try for yourself. Handbrake is of course at its official website.
@SpanishCandle
@SpanishCandle 9 месяцев назад
@@GaryExplains OK. I can't see any new code specific to this video. In any case, I hope you're right, as I am Windows fan and jealous of Apple Silicon... but the first test result seems odd which is why I've come up with the memory bottleneck theory. Hopefully your test encourages other people to do similar testing, instead of assuming Rosetta is superior. 🤞
@MatthewHarrold
@MatthewHarrold 9 месяцев назад
For someone who had an iBook 12" in 2004, a MBP 13" Retina thingy in 2007, a MBP 13" Retina thingy in 2013, and now a MBA 13" M2 thingy in 2023, all while switching from a PC laptop in 2004 due to Unix/Linux university requirements, and using Windows 7/10/11 via BootCamp or virtualization the whole time ... I'm just glad they get faster and more reliable while remaining dirt cheap by 90's standards. $0.02
@xoihateusernames98
@xoihateusernames98 9 месяцев назад
Video isn’t as detailed as i thought it would be. Expected more info about how the two actually work. Apple iirc has things baked into the SoC to accelerate emulation that you don’t mention here. They actually got it to work on non apple arm SoCs but it wasn’t as good due to it lacking certain things that apple put in those chips (i think x86 instruction sets?).
@Aaronage1
@Aaronage1 9 месяцев назад
I feel like this video misses the point? It doesn’t matter how good x86-64 emulation is in Windows if barely anything will run lol. It’s not surprising people think emulation in Windows sucks when the terrible smartphone-derived Snapdragon chips wheeze and fail trying to run… almost everything. Apple did the tough but necessary work to kill off legacy APIs/frameowkrs, 32 bit support etc. to ease the transition. The benefit of this was immediately obvious as basically everything worked on day one. My success rate with Rosetta 2 is 100% - every x86 binary I’ve tried has worked. Everything from basic apps to games just work. My success rate with Windows is nowhere near 100%. The only Steam games I’ve got working are freakin’ Peggle and Peggle Nights lol. It’s not surprising as that emulator needs to deal with the decades and decades of crap Microsoft refused to remove from Windows. Plus, both Windows and macOS will use native Arm libraries with x86 binaries where possible. To be clear, I have bought multiple Windows on Arm devices over the years to check-in on progress. I WANT Arm PCs to succeed.
@Aaronage1
@Aaronage1 9 месяцев назад
Also, yes, very aware X Elite isn’t smartphone derived, looking forward to it.
@bulletpunch9317
@bulletpunch9317 9 месяцев назад
The 8cx gen 3 wasnt either.
@Aaronage1
@Aaronage1 9 месяцев назад
@@bulletpunch9317 true, maybe smartphone derived is too vague a statement. It’s only really accurate for those early WoA devices that literally used smartphone chips (835, 845, 850 etc)
@bulletpunch9317
@bulletpunch9317 9 месяцев назад
@@Aaronage1 the 8cx g1 and g2 sure were. Just slight oc and doubled the gpu.
@Aaronage1
@Aaronage1 9 месяцев назад
@@bulletpunch9317 8cx Gen 1/2 had a wider memory controller, more GPU cores etc. compared to the smartphone SoC of the time. They were ok (or rather, would’ve been ok if Windows on Arm wasn’t so dependent on emulation 😒).
@Winston-1984
@Winston-1984 9 месяцев назад
After watching this video, I'm unconvinced, you said you would bring evidence & we got graphs & two tests (very little evidence), one showing Windows on ARM was better the other suggesting Apple silicon was better. Windows emulation works which is the important take away.
@tomaszargentynczyk8635
@tomaszargentynczyk8635 5 месяцев назад
It's not that macOS does it better in terms of performance, it's a matter of reliability. I used Windows for ARM and had many bugs and failed app startups with x86 code, it just didn't work or crashed ever so often than Rosetta on macOS. Apple did it first and it was robust since day 1, Microsoft still needs some time to polish it up.
@GaryExplains
@GaryExplains 5 месяцев назад
Have you tried it recently?
@user-pn6qq1zr3x
@user-pn6qq1zr3x 9 месяцев назад
there are 2 things here: 1- windows’ problem is that it relies on other companies hardware and other ARM chip makers haven’t reached apple’s silicon in performance and efficiency on laptops. 2- as you said transition from x86 to arm was mostly seamless for mac but it will take years for developers to adopt native arm CPUs.
@GaryExplains
@GaryExplains 9 месяцев назад
"ARM chip makers haven’t reached apple’s silicon in performance and efficiency on laptops" -> Snapdragon X Elite.
@gr-os4gd
@gr-os4gd 9 месяцев назад
@@GaryExplains I'm looking forward to seeing laptops and (mini) desktops using it. I think we very much need a power/performance revolution in general-purpose personal computing.
@user-pn6qq1zr3x
@user-pn6qq1zr3x 9 месяцев назад
@@GaryExplains It’s close to M2 but still behind M3, and M3 is already released to the market while it probably takes a year or two before we see proper windows laptops with X elite and till then there may even be an M4! I’m not an apple fanboy and I don’t even use a mac. personally I like PCs much more but the truth is apple is a few years ahead of everybody else in the arm laptop and desktop computers market. they did fantastic job in transitioning their platform to much more efficient arm architecture.
@GaryExplains
@GaryExplains 9 месяцев назад
6 months until laptops with X Elite. I have several videos on the performance. I think I said in this video that it was behind the M3, no?
@user-pn6qq1zr3x
@user-pn6qq1zr3x 9 месяцев назад
@@GaryExplains And I think I said proper laptops, no? by the way the snapdragon itself compared it to M2 and on the same wattage it falls slightly short comparing to it. M3 computers are already in the market and x elite, an unreleased chip is already behind it! You are comparing a somewhat paper product to an already stablished platform in its third generation.
@dbjungle
@dbjungle 9 месяцев назад
Surprising. I remember when Windows on Snapdragon first became a thing the reviews showed AWFUL emulation. So is it that SoCs are way faster or did Microsoft make additional optimizations?
@gerdya6301
@gerdya6301 9 месяцев назад
Thing is, the emulation never has been awful - but no-one, who was claiming that the emulation was awful, did really compare the emulated performance vs the native arm64 performance but compared the emulated performance vs the performance on a much faster Intel CPU.
@erikreider
@erikreider 9 месяцев назад
No Linux comparison? FEX and box64 seem to be pretty good
@guilhermems
@guilhermems 9 месяцев назад
Yeah, I would like to see a comparison between those two on Linux as well. It would be very interesting.
@adolfomartin5456
@adolfomartin5456 3 месяца назад
You have to test also battery duration, it is an important point, if a bought an ARM laptop that would be to get more portability.
@bazoo513
@bazoo513 8 месяцев назад
You can sometimes fool most of the people, and some of the people most of the time, but you can't fool Gary - he rolls his own tests and _measures_ ! 😀
@chemicheto
@chemicheto 9 месяцев назад
I'm really impressed, thanks for the video
@GaryExplains
@GaryExplains 9 месяцев назад
Glad you liked it!
@joeMW284
@joeMW284 6 месяцев назад
This is what I've been holding out for. I'm going to wait another generation and probably pull the trigger on a system with one of these Snapdragon chips. I'm also very interested to see what x64 emulation on Linux is like.
@muhdkamilmohdbaki7054
@muhdkamilmohdbaki7054 9 месяцев назад
Great video, Gary and your methodology is spot on. What important is that it is not your opinions or based on hearsays (what he said, she said). Anyway, it is good to know (and expected at least to me) that the emulators performance are almost similar on Windows and MacOS. Ultimately, these emulators won't be needed some years later down the line because nothing beats native code. It is interesting to speculate that perhpas in the future there will be split between ARM64 for mobile computing and x86_64 for desktop with regards to Windows. I don't think that x86_64, Intel, AMD will disappear into the ethos very soon.
@ramseyrodriguez8515
@ramseyrodriguez8515 9 месяцев назад
This makes sense. Windows performance even as VM on Apple Sillicon is commendable. I don’t know why so much people lash out to Windows, when it’s clear that there hasn’t been ARM hardware up to the task for Windows… until now with the Snapdragon X. But the 8cx series has been a disaster, expensive and underperforming. Was meant to compete with Intel Y series, just as the M-series took off.
@Gustavo_St
@Gustavo_St 3 месяца назад
Great video! Much needed proof to dismiss hype.
@ogyct
@ogyct 7 месяцев назад
Thanks Gary, that's exactly what I expect to see on youtube. When someone states something, it should be backed up by some tests. But there are still some kinds of things I don't understand well. There are different instructions, some may be better emulated on one platform, some on the other. It would be nice to see that in detail. It would help to understand the difference in results between your code and HandBrake. Another interesting topic is gaming. Windows games rely heavily on DirectX and windows PCs GPUs have hardware optimized for it. What about Qualcomm vs Apple in that regard? Can we expect AAA arm games anytime soon? If you know anything about it, please, let us know.
@aftsfm
@aftsfm 3 месяца назад
Now I want a laptop on Snapdragon X Elite.
@dread69420
@dread69420 9 месяцев назад
The problem with this test is Windows' software ecosystem is much, much more complex than Apples' and Windows itself is somewhat more bloated than Macs by itself, so it doesn't speak to all situations or everyday software usage. Apples' more curated approach certainly makes it more agile in the software sphere.
@jimcabezola3051
@jimcabezola3051 9 месяцев назад
I'm just looking forward to seeing Linux on these new DImensity and Qualcomm ARM chips. I've no need for Windows emulation. I have to say that Linux on a M1 Mac via Asahi Linux looks VERY promising, indeed. Here's hoping I can just run straight Linux on one of these new ARM chips.
@catchnkill
@catchnkill 9 месяцев назад
@@garrusvakarian8709 Not bad at all considering the team needs to reverse engineering the Apple hardware to write the software driver for it. It is not a easy task. Let me quote an example. My Lenovo notebook comes with a Intel wifi bluetooth chip. There is no Hackintosh driver for that chip. Ten years of Hackintosh and the community cannot write a driver to support the chip. Writing software driver by reverse engineering the hardware is no easy task.
@jimcabezola3051
@jimcabezola3051 9 месяцев назад
@@garrusvakarian8709 Yes... The GPU isn't at all a problem, but having to use BT for audio can be a bit wearing at times. I doubt it will be a problem for all that much longer.
@BenjaminMudiaga
@BenjaminMudiaga 9 месяцев назад
A very good video Gary. Well done for all the testing and coding. Like you said, the general opinion on the internet for years has been that MacOS emulation is far better than windows and clearly this is not the case. 👍👍
@asamirid
@asamirid 9 месяцев назад
very interesting subject indeed and in the right time too, very clever and informative approach, big fan 💚💚.. thank you
@GaryExplains
@GaryExplains 9 месяцев назад
Glad you enjoyed it!
@7lllll
@7lllll 3 месяца назад
i don't care if one emulation is fast or slow, this emulation is most important for old software that assume old and slow hardware, and in that case what matters is that they work at all, and that they have less bugs
@GaryExplains
@GaryExplains 3 месяца назад
Did you even watch the video? How can current x86 software for Windows be considered as "old software that assume old and slow hardware"??? I am very confused.
@7lllll
@7lllll 3 месяца назад
@@GaryExplains i did watch the whole video. sure there are also current x86 software that do not assume old hardware, but i am not worried about them because both the software development side and the windows/mac side will make sure they run smoothly on arm. i am much more worried about the old software that will be neglected
@GaryExplains
@GaryExplains 3 месяца назад
Good point. That will be interesting to test out!
@nrg753
@nrg753 9 месяцев назад
Makes me think we could get an ARM based Steam Deck one day! One day the scales may tip to ARM and that's where the all the focus will be.
@DigitalJedi
@DigitalJedi 9 месяцев назад
A hypothetical ARM Steam Deck is a really interesting device, as it. either forces games to work or drives emulation performance forward to get them playable, similar to the advances in Linux compatibility we see through Steam OS right now. I could see them sticking with AMD for the GPU as that relationship seems strong. Maybe a future Samsung partnership would be what makes that happen, as they've already had mild success with RDNA+ARM SoCs.
@farhan-momin
@farhan-momin 3 месяца назад
and also, with new snapdragon x elite, windows emulation has been also worked upon to be better
@nonchalanto
@nonchalanto 9 месяцев назад
So, when Gary saw the macOS Rosetta apps were near-native performance, he realized “oh shoot, the data doesn’t look the way I want it to” so he dug around and explained it away. Then when he achieved near native on windows (with his own super secret compiled software that no one gets to see) he took it at face-value. The surface pro X had windows on arm and it was a disaster from day one. Unusably buggy and slow. But Gary disagrees.
@zijinzhang20
@zijinzhang20 9 месяцев назад
I just noticed recently that windows arm update brings significant x86/x64 emulation performance improvement!
@muddyexport5639
@muddyexport5639 9 месяцев назад
My issue is the Microsoft U.S. business model that forces their eco system with every release or update and the amount of time I have to spend to automate and evaluate the virus issues that Windows has vs the Mac or Linux systems that I have which is near nil. It is the operating system not the hardware from my frame of reference.
@ibrahimzitouni5191
@ibrahimzitouni5191 9 месяцев назад
i love watching your videos , keep going U R the best
@JoeCursio
@JoeCursio 9 месяцев назад
I’m (pleasantly) surprised by the MS results because I’ve heard their support of ARM was relatively lackluster. Maybe they’re lackluster in ensuring programs will work properly, or they’re lackluster in marketing, or maybe I’m just uninformed. 😊
@gr-os4gd
@gr-os4gd 9 месяцев назад
Their original foray into ARM was...lackluster. Partly due to hardware, partly due to software. I'm hoping things will be much different now that there are excellent ARM CPUs available for them to use.
@christianr.5868
@christianr.5868 3 месяца назад
Can’t wait to see how the snapdragon surface handles emulation. Might switch from my iPad lol
@RakavyYuval
@RakavyYuval 9 месяцев назад
Did you run it multiple time? To the best of my knowledge on Mac OS (and in Windows), the translation from X86 to ARM happens on the first run and the result is cached. So you have to ensure that you are not including the translation process time in one "branch" and not the other
@Winston-1984
@Winston-1984 9 месяцев назад
yeah, i'm a bit iffy of the methodology used here.
@GaryExplains
@GaryExplains 9 месяцев назад
Of course I ran it multiple times, this isn't my first rodeo.
@neilmontgomery3470
@neilmontgomery3470 8 месяцев назад
Gary just a simple question. Are you optimistic about where ARM is going on Windows? Do you think we can have a small and light alternative to the M type Macs. I want an powerful and efficient Windows laptop. I don't want to buy into the Apple eco- system as I prefer to use Windows and Android in PC and mobile.
@IOOISqAR
@IOOISqAR 9 месяцев назад
Apple compiles all of the code to "emulate" right after the launch into ARM-code and runs that. It is not a plain emulation like on Windows.
@vernearase3044
@vernearase3044 9 месяцев назад
Doesn't actively insuring that ARM libraries _aren't_ used cripple the test? Why not run both allowing the native systems to choose the best choice - which is what consumers would actually see when running their legacy software?
@GaryExplains
@GaryExplains 9 месяцев назад
I agree that when doing a user experience test that would be true. However here I am testing just the x86 emulation.
@hilmyakatsuki1665
@hilmyakatsuki1665 9 месяцев назад
Rosetta also has access to intel memory extensions that apple built into m series SoC. This improved the performance a lot.
@ABHIJEETSINGH-gm6te
@ABHIJEETSINGH-gm6te 9 месяцев назад
Guys can you share his channel as much as possible..he really deserves many more subscribers
@Yanto-rv1qu
@Yanto-rv1qu 9 месяцев назад
So it’s just the hardware being behind on windows
@michaelcorcoran8768
@michaelcorcoran8768 9 месяцев назад
Except Snapdragon just demonstrated that they leapfrogged apple. That was before M3 but at best they're trading blows now.
@_Digitalguy
@_Digitalguy 9 месяцев назад
until now yes, things are changing though
@Yanto-rv1qu
@Yanto-rv1qu 9 месяцев назад
I excited for Nvidia drivers to support windows in arm (assuming they don’t currently) if I could plug an eGPU into my M1 Mac and have the portability and battery life but then gaming power that would be amazing
@pedalthang2079
@pedalthang2079 9 месяцев назад
@@michaelcorcoran8768 - the product needs to be available to buy before it can be a competitor. Also bear in mind that much of the software that runs on MacOS is now native and x86 is only the exception. So although the Elite chip will provide great performance when it comes out, it will only provide exceptional performance with native code. As always 'developer, developers, developers' - they'll need to get serious about recompiling otherwise apps will run slower than native code
@AlphaSierra380
@AlphaSierra380 9 месяцев назад
Awesome video thanks
@GaryExplains
@GaryExplains 9 месяцев назад
Glad you enjoyed it
@TamoghnaBhattacharya
@TamoghnaBhattacharya 9 месяцев назад
Now people will say you wrote the code wrong!
@GaryExplains
@GaryExplains 9 месяцев назад
For sure!
@gag_singh
@gag_singh 9 месяцев назад
now without the code we can't be sure, can we?
@GaryExplains
@GaryExplains 9 месяцев назад
Wow @gag_singh are you going to reply with that comment everywhere?
@gag_singh
@gag_singh 9 месяцев назад
@@GaryExplains I've subscribed to your channel, I respect your content but if you are going to say that most internet claims about apple's superior implementation are fake then we need some facts, we can't just rely on your words. It would be helpful if you could add descriptions with links to backup your claims so we all can see for ourselves.
@GaryExplains
@GaryExplains 9 месяцев назад
@@gag_singhI don't think you need me to post a link for you to find HandBrake do you?
@henryrichardson3508
@henryrichardson3508 9 месяцев назад
Thank you for the interesting video. Speed of the translated code is important, but even more important, I think, is accuracy of the translation. That is harder to check because it means running translated code of many complex programs to ensure that they are behaving properly and there are no errors. Adobe Lightroom Classic, Photoshop, Premiere Pro, Excel, games, etc. I suppose older pre-Apple Silicon versions can be found that are not fat universal binaries which could be used on Mac to try and get a true comparison of Apple Rosetta 2 translation to Windows translation.
@ReedHarston
@ReedHarston 2 месяца назад
Thank you Gary for calling out claims with no evidence, that is always important. However, I would like to call out some flaws in your comparison. Your final test does show that the performance of a well known, tested application performs similarly on Windows and macOS, but that isn't the whole picture. In the beginning you talk about how you always see people saying Apple's Rosetta is better, but neither of the two examples you show say that. You only show examples of the "Windows can do that?" comments. Because of that we don't know what exactly the people were suggesting is better. Were they all about performance, or about the whole system? You showed that the performance is similar, but you also stated all the facts that show Rosetta, as a _whole_ is better's than Windows system, except you were out to disprove all the commenters so you didn't see what was right in front of you. 1. Windows 10 doesn't support 64 bit apps. Rosetta 2 has done 64 bit apps since day one, so all versions of macOS can run 64 bit Intel apps. 2. Fat binaries hide all of this from the end user (except when developers don't provide the fat binary and make the user pick the right one to download) Let me explain Rosetta 2 supporting 64 bit from the beginning matters because _many_ people don't want to use Windows 11, so 10 not having 64 bit support is a _deal breaker_. You yourself showed how good fat binaries in your video, but in a round about way without giving any credit to the beauty of it. In fact, you were kinda bashing on it because it made your testing harder. But to the end user the fact that you can't easily trick the system into using the _wrong_ code is awesome! You are going to be using the right code for your architecture without thinking about it. Huge win. On Windows they are separate binaries and the user has to somehow know that if they replace their old one with the new one it will run better for some reason. Not an issue on Macs. (If the devs make the fat binary.) Apple has the win here in my books because they were first _and_ more complete, but it is great to see that Windows emulation is good too! Also, a single real world code test isn't a complete comparison. No widely accepted scientific theory is based on a single point of evidence. Your point is a good one, but it is just one. And I'm only counting HandBrake here because we can't see your code so it is impossible to see why it would perform so much better on Windows than macOS, and you didn't even bother to tell us _what_ it is doing! You probably just did one thing that Windows emulation happens to be better at, but Rosetta 2 is better at other things. That is why we need a spread of tests, and of code all of us can actually run and see, so we can test what end users will get out of the experience. And a 10% advantage to macOS is no small feat - that is a whole generation or two of CPU advancements. ------------- Regarding your remarks about Apple's 'closed garden', this is exactly why Apple keeps tight control over their developer ecosystem. They don't have to deal with devs lagging behind the times for 30+ years because they can't be bothered to use the new API. As an a macOS developer it can be annoying at times, but I know the constant push to keep my code up to date means my users (and I) are getting the best and newest features.
@AndersHass
@AndersHass 9 месяцев назад
Does Rosetta 2 also use ARM code for other things than benchmarks when it is supposed to translate (without being fat version)? Which might also make it feel better than what it is. I have probably been trainted how poor the Windows ARM translation has been early on and it probably doesnt help the ARM processors for Windows hasn’t been as powerful as the M series. It is interesting whenever someone uses Windows on ARM Mac that x86 programs runs great which people have attributed to Rosetta 2 which might just be Windows own translation but because it got more powerful CPU it feels better than on a Windows ARM PC.
@WoollyMittens
@WoollyMittens 9 месяцев назад
I wish there were more consumer Windows ARM devices. Intel and AMD need some competition.
@EnochGitongaKimathi
@EnochGitongaKimathi 9 месяцев назад
A very sincere thank you 👍🏿
@GaryExplains
@GaryExplains 9 месяцев назад
You are very welcome
@mosemister
@mosemister 3 месяца назад
My issue with this video is it focuses on "speed = better" and when it comes to arm emulation speed is good to a point. Its all well and good that X emulator runs almost as fast as native, but if it can only emulate a single program. Personally i would say the emulation with the better selection of apps is the better emulator. I had heard that Apple's is better in this department as Apple put some X86 instructions directly on the processor and rosetta uses it when needed while snapdragon .... At least the 2015 windows snapdragon processors were pure arm. Not looked into myself so could be untrue
@Battler624
@Battler624 9 месяцев назад
Goes to show that the reason windows on arm didn't go so far is not because of the software but the hardware.
@GaryExplains
@GaryExplains 9 месяцев назад
That is probably true, plus the price of that hardware.