ps:这篇文章主要写给不清楚技术细节的普通玩家,如果你是计算机图形这方面的大佬,请原谅这里面可能会有错误的点,因为我也是普通玩家 ╮( •́ω•̀ )╭
2月18日,mojang在官网发布了一条重磅消息——切换Java版的底层渲染管线,从 OpenGL 转为 Vulkan。 https://www.minecraft.net/zh-han ... ls-for-java-edition
图/Minecraft官网
你应该会有疑问:OpenGL 和 Vulkan 都是什么?它们跟我玩mc有什么关系?那接下来我们将要聊聊这两个东西。
OpenGL(Open Graphics Library,开放式图形库)是一个用于渲染图形的 应用程序编程接口(API)。API 可以理解为一个“翻译官”,它可以在不同的软件和硬件之间进行沟通,使开发者不用直接访问系统的底层架构,从而简化在编程时的工作量,同时让代码可以在多平台使用。
【哔哩哔哩-极客湾Geekerwan】【科普】DirectX和OpenGL:游戏为什么离不开它们? https://b23.tv/4RmpOaW
【哔哩哔哩-GamePP游戏加加】DirectX、Vulkan和OpenGL是什么?什么是图形API?https://b23.tv/yLpnEFI
而 OpenGL 和 Vulkan 就都同属于图形方面的API,用于沟通游戏引擎和显卡驱动等等。
OpenGL 发布于上世纪90年代,支持大部分PC操作系统(甚至还有个 OpenGLES 用于支持安卓和ios系统),学习门槛比较低,至今仍然有许多软件在用着它。但OpenGL最大的问题是,它太老了,而且在9年前就不再推送更新(mojang原话),在效率上已经比不上其他的图形API,比如 Vulkan 和微软的 DirectX 了。
图/OpenGL官网(opengl.org)
而 Vulkan 发布于2015年,至今仍在更新,同样支持大部分的平台,比 OpenGL 有着更多的功能和更新的架构,同时因为Vulkan做到了多线程处理并且使开发者得以更接近底层硬件,其效率是远高于 OpenGL 的。但是,“使开发者得以更接近底层硬件”的后果是对开发者的技术要求很高,如果开发者对这方面经验不足,就有可能使最后的性能效果更差。
图/Vulkan官网(vulkan.org)
这是官网的新闻页,现在你可以在这里看到mc的消息(  ̄▽ ̄)σ
说回mc,看了上面你应该为啥mojang要换这个了吧?那这个会对玩家们有什么影响呢?答案是,没啥大影响。最主要受影响的是模组,尤其是渲染类的(比如 钠、遥远的地平线和Voxy等等),这些都可能要重构模组的大部分内容,普通玩家们将要花上好一段时间等待这些工作弄完才能在新版本用上。
不过,我相信这应该不会要太长时间。一方面,mojang 也会提供内部渲染 API 以降低模组作者的工作量。同时,有些模组厉害的作者其实早就盼望着换成 Vulkan 了,他们或多或少为此做了准备。比如在3年前就有一个模组叫 VulkanMod 专门将 mc 的渲染API换成Vulkan,而现在,这个模组也即将结束它的历史使命了。
【MC百科】VulkanMod https://www.mcmod.cn/class/6626.html
mojang官方在公告最后写道:
“从长远来看,转向 Vulkan 将使我们有更多能力来提升 Java 版的图形效果,带来更强的性能潜力,并有希望减少玩家遇到的基于驱动程序的错误。不过最重要的是,Vulkan 将确保 Minecraft Java 版在 macOS 上依然可玩,这样我们就能让所有支持的操作系统上的玩家(而不仅仅是其中的一部分),都可以在我们迈向 Minecraft Java 版充满活力的未来的过程中与我们一同前行。”
(微软翻译)
对于普通玩家们来说,这次切换的最大好处是——能够带来更棒的视觉效果和更好的性能。坏消息是 对于老旧的GPU(例如10年以上的老卡)和核显,可能会因为驱动问题而无法支持 Vulkan。最好的解决方法是更换较新的显卡或者使用由社区制作的第三方驱动(这个呢就需要你自己找了🤔)。
从多方面来讲,OpenGL 转 Vulkan 绝对是利大于弊的,官方也说,这次更换是为未来的Java版 灵动视效(Vibrant Visuals) 铺平道路,我们也可以期待一波。
根据官网公告的规划,这次更换将会在今年夏天的快照中实装,届时玩家可以在 OpenGL 与 Vulkan 之间切换,直到官方确信 Vulkan 在mc上已经可以实现稳定和良好性能,就会最终移除 OpenGL。
|