这是一个分水岭,没有32位操作系统

这是一个分水岭,没有32位操作系统

只针对android游戏引擎_引擎对于游戏的作用_引擎对游戏有什么影响

这是一个分水岭。 不存在 32 位操作系统,也不存在 32 位应用程序。 这是一个分水岭。

作者 | 吴悠

Arm 宣布,从 2023 年开始,其所有新智能手机 CPU 内核都将仅为 64 位,没有 32 位兼容模式。 2013年,苹果在iPhone 5s中使用了64位A7处理器,我们开始有了支持64位的智能手机处理器。 不久之后,64 位 CPU 也出现在 Android 手机中,但所有这些 CPU 都可以运行 32 位和 64 位代码。

所以我们从只支持32位,到同时支持32位和64位,现在我们要放弃32位,进入只有64位的时代。 这对于 Android 和 Apple 意味着什么?

引擎对游戏有什么影响_只针对android游戏引擎_引擎对于游戏的作用

从 32 位过渡到 64 位

在智能手机中,每个像素、通过互联网发送的每个数据、闪存中存储的每个文件、播放的每个声音以及屏幕上的每个触摸都由数字表示和处理。 大部分处理是由 CPU 在 GPU 等其他组件的帮助下完成的。

处理器以二进制形式存储这些数字,并为它们分配的空间以位为单位。 位以二进制形式用0和1表示,8位可以表示0到255之间的任意数字,16位可以表示0到65,535之间的数字,32位可以存储最多4,294,967,295的数字(即4GB)。

Arm 在其指令集架构第 8 版(称为 Armv8)中引入了 64 位支持,并且在 Armv9 中继续提供 64 位支持。 两者还可以选择向后兼容以前的 32 位 Arm 架构。 这意味着原则上 Cortex-A 处理器可以运行 32 位代码和 64 位代码并在它们之间动态切换。 用户不会注意到 32 位和 64 位代码之间的任何差异。 事实上,三星的第一款 Armv8 SoC 是 Galaxy Note 4 中使用的 Exynos 5433,它有四个 Cortex-A57 内核和四个 Cortex-A53 内核,但仅限 32 位模式。

多年来,事情变得更加微妙。 Arm 有一些基于 Armv8 的 Cortex-A 内核,其中一些仅为 32 位(例如 Cortex-A32)游戏运营,一些仅为 64 位(例如 Cortex-A34 和 Cortex-A65)。 您可能没有听说过这些 CPU 设计,因为它们没有在任何智能手机处理器中使用。

从 Cortex-53 到 Cortex-A75 的大多数 Cortex-A 处理器都支持 32 位和 64 位模式。 Cortex-A76略有变化,它支持32位模式,但仅适用于应用程序。 这意味着您需要运行 64 位版本的 Android,但仍然可以运行 32 位应用程序。 如果您有 Snapdragon 855(或更高版本)处理器。 或者基于Kryo 4xx(或更高)的处理器(包括Snapdragon 480、Snapdragon 675、Snapdragon 720、Snapdragon 730、Snapdragon 765、Snapdragon 780G等)只针对android游戏引擎,那么该处理器已经放弃了32位操作系统支持而无需您注意到。

由于 Cortex-X2 和 Cortex-A510 不再支持 32 位应用程序,您被迫运行 64 位操作系统和 64 位应用程序。 Cortex-A710 保持对 32 位应用程序的支持,这意味着任何无法突破 32 位模式的应用程序都将被迫在 A710 内核上运行。

到 2023 年,所有 Cortex-A CPU 将仅为 64 位

Arm 针对转向 64 位发表了两份声明。 首先,Arm 谈到了 2022 年,届时所有大核心都将是 64 位,几个月后,Arm 谈到 2023 年,所有核心都将是 64 位。 听起来不错,但 Cortex-A510(一个小核心)已经是 64 位的了,那么为什么有两个不同的截止日期呢? 作者认为,我们将在 2022 年看到支持 32 位的新小核心,之后一切都将是 64 位。

值得注意的是,我们谈论的是 Cortex-A 处理器,即智能手机、平板电脑、Chromebook 等中的 CPU,而不是 Arm 系列微控制器中的 Cortex-M CPU。 事实上,Armv8-M(M代表微控制器)只是32位。

放弃32位对Android影响不大

好消息是 64 位 Android 是一项成熟的技术,完全放弃 32 位支持不会产生太大影响。

第一个完全兼容 64 位的 Android 版本是 Android 5.0 (Lollipop)。 它于 2014 年发布,增加了对 64 位 Intel 处理器以及 64 位 Arm 芯片的支持。 截至 2019 年 8 月,所有 Google Play 应用都需要支持 64 位。 为了帮助开发者支持 64 位,流行的游戏引擎添加了支持:Unreal (2015)、Cocos2d (2015) 和 Unity (2018)。 从 2021 年 8 月 1 日开始,Google Play 将停止在支持 64 位的设备上提供没有 64 位版本的应用,这意味着这些应用将不再在这些设备上的 Play 商店中提供。

Google 提供了不同的工具和广泛的文档,帮助应用程序开发人员为切换到 64 位做好准备。 对于许多应用程序来说,实际上没什么可做的,因为用 Java 或 Kotlin 编写的应用程序不需要任何更改。 然而,使用游戏引擎或第三方SDK开发的应用程序需要确保它们使用最新的64位版本。

由于 64 位 Android 设备已经面世多年,并且 Google 努力确保 Play 商店中提供 64 位应用程序,因此最终仅切换到 64 位不会产生太大影响。

苹果早些时候放弃了 32 位

苹果自 iPhone 5S 起就在硬件和软件上都支持 64 位。 早在 2015 年 2 月,Apple 就宣布所有 iOS 应用程序都必须支持 64 位。 然后在 2017 年,库比蒂诺宣布 32 位应用程序不会在 iOS 11 上运行。当时,苹果完全放弃了 32 位,从 Apple A11(iPhone 8 和 iPhone X 中使用)开始,所有处理器都是 64 位——仅有一点。

引擎对于游戏的作用_只针对android游戏引擎_引擎对游戏有什么影响

macOS 也有类似的故事。 Apple 的桌面操作系统自 10.7 Lion (2011) 以来一直是 64 位。 自 2018 年以来,提交到 Mac App Store 的所有新应用程序都必须支持 64 位,就像 iOS 一样,macOS 放弃了对 32 位应用程序的支持(随着 2019 年 macOS 10.15 Catalina 的发布)。 如今,macOS 11 在 Intel 上为 64 位,在 Arm 上为 64 位,并且 M1 处理器仅为 64 位。

未来是 64 位

从 2023 年开始只针对android游戏引擎,所有 Cortex-A 处理器将仅支持 64 位。 由于 Android 支持 64 位并且正在转向仅限 64 位的应用程序,因此过渡将很顺利,因此您可能不会注意到任何差异。 如果您是 Apple 用户,在 iOS 和 macOS 上切换到 64 位已经有一段时间了。 我还没有听说过渡有任何重大问题。

对于其他 CPU 架构和其他操作系统,例如 Windows 和 Linux贴图笔刷,32 位支持将持续更长时间。 既然 Linux 是开源的,32 位支持可能会持续数十年。 对于 x86-64 处理器上的 Windows,甚至可能没有明确的路径。

雷锋网编译,原文链接

结尾

文章来源:http://mp.weixin.qq.com/s?src=11×tamp=1694841675&ver=4777&signature=OsLRtsuy*dobPGhdeFLRO*yTKdn*inwZkQc4*8w0tiZMNTv1PcTLub1creinu2CBVNkqD-HFctV7uX*DSi*umR*f8D67jtwwajXT6TdeXTfIFekjH2nI5iNndzP2urXD&new=1