Google宣布支持Vulkan作为Android的底层图形API
英文原文:Google goes with Vulkan as Android’s low-overhead graphics API
很多人在刚听到底层图形 API 的时候似乎都不怎么激动,但是苹果已经在去年的 iOS 8 上推出了 Metal,并计划于今秋将之推送至 Mac OS X EI Capitan。此外,刚刚发布的 Windows 10 系统中也包括了 DirectX 12,Windows Phone 则会在今年晚些时候迎来更新。而今天,Google 也宣布了 Android 将支持 Vulkan 的消息。
致力于开放标准的 Khronos Group 是由其成员提供基金支持的行业协会,除了 OpenGL 和 OpenGL ES 之外,Vulkan 是继两者之后的最新底层 API。
与其它 API 相比,Vulkan 承诺会提供对 GPU 更直接的访问以改善性能,因此开发者将能够自行管理内存和多线程,而不是将此类决策交给驱动——在让他们做得更多的同时,也极大地提升了灵活性。
它与 OpenGL 相比的不同点在于可用于任何人,并且理论上可被附加到任何主流操作系统上。当然,与 Metal 和 DirectX 12 一样,Vulkan 需要操作系统和硬件的双重支持。
Vulkan 目前已兼容支持 OpenGL ES3.1 的任何 GPU——包括高通的 Adreno 400 系列、Imagination Technologies 的 PowerVR 6 系及新型号、Nvidia Tegra K1 及新型号、以及 ARM 的 600 / 700 / 800 系列 Mali GPU——几乎涵盖了 2014 年年底发布至今的所有高端手机/平板产品。
Vulkan API 将在今年晚些时候才会最终敲定,Google 的帖子未提到 Android M 是否会加入对它的支持,所以我们有可能要等到一个大版本。尽管有些变动可通过 Play 商店或 Google Play 服务升级,但依照历史来看,新的 API 总是需要一个新的 Android 版本来尝鲜的。
最后,Google 表示会在引入 Vulkan 后继续支持 OpenGL ES,所以开发者仍然能够愉快地使用老款 API 来工作。
Khronos Group 刚刚宣布了 OpenGL ES 的 3.0 版本,而在 Android 5.0 中加入的 OpenGL ES Android 扩展包则包括了如下功能:
· 几何形状与镶嵌着色器,GPU 可有效处理复杂场景;
· 可对渲染目标执行更高精度的浮点运算操作,并提升了灵活性;
· ASTC 压缩技术可减少纹理运算时的内存占用和带宽需求;
· 增强混合与复杂合成,可处理多种颜色的附件;
· 高级纹理质感,如缓存、多种 2D 和立方贴图阵列;
· 调试更简单、代码开发更健壮、安全执行。
最后,Khronos Group 表示,OpenGL ES 3.2 兼容性扩展“使得人们可以通过桌面 OpenGL 来开发移动应用程序”。随着移动 GPU 的日益进步,OpenGL 和移动端 OpenGL ES 标准已经变得更加紧密,这最终可让桌面项目移植到移动设备上变得更加简单。