【问题标题】:What does M1 mac optimization process for an application mean?应用程序的 M1 mac 优化过程是什么意思?
【发布时间】:2022-01-15 11:19:46
【问题描述】:

您知道现代 mac 计算机中使用的基于 ARM 的 M1 芯片。在这些 Mac 上,一些软件通过称为 Rosetta(Discord、Steam)的层运行,一些软件在本机运行,直接通过 M1(Slack、IntelliJ),而一些实际上不能以任何一种方式运行(Virtual Box) .保存状态的巨大列表可以找到here

只能使用Rosetta 运行的应用程序尚未对M1 进行优化,他们的开发人员必须对其进行优化,这需要一些时间。但是优化它意味着什么?这个过程是什么样的?我很确定他们不会将整个应用程序代码重写为另一种语言(如 Swift),因为 Jetbrains 能够M1 非常快速地优化他们的应用程序。另一方面,Discord 尚未优化,Unity 游戏引擎也是如此(虽然它处于测试阶段)。

【问题讨论】:

    标签: macos cpu cpu-architecture apple-m1


    【解决方案1】:

    归根结底,这只是意味着编译器的后端被配置为为程序发出 ARM64 指令,而不是(或除此之外)x86-64 指令。

    这意味着某些 x86-64 特定功能指令不能再使用,除非使用等效的 ARM 指令。

    不过,这通常不是什么大问题,因为大多数 macOS 软件通常是使用系统提供的框架以更高的抽象级别编写的。

    例如,使用 CoreImage 处理图像可以让您从 CPU 和 GPU 的细节中抽象出来。在这种情况下,Apple 会在其框架上进行繁重的移植工作。作为应用程序开发人员,您所要做的就是选中一个“目标 ARM64”框。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-21
      • 2015-04-07
      • 1970-01-01
      • 2010-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多