Cocos 将出席 GDC 2023,揭秘引擎如何取得极致的跨平台伸缩性

全球游戏行业年度盛会“2023 游戏开发者大会”(Game Developers Conference,简称 GDC)将于 2023 年 3 月 20 至 24 日于美国旧金山举行。数万名开发者将参加大会,与同行进行专业交流与学习。

作为在全球范围内广受开发者使用的游戏引擎,Cocos 也将出席本次大会,再次与开发者们见面。长期以来,在立足 2D 应用领域、持续优化的同时,Cocos 在 3D 方面也取得了突破和长足进步。近期发布的 Cocos Creator 3.7 中,我们在渲染效果、GI 全局光照、LOD、动画系统、物理系统、易用性以及性能方面进行了众多提升,给开发者提供更大的创作发挥空间。同时,我们还开放了能够展现 Cocos 最新引擎能力的 Cyberpunk Demo,供开发者免费下载安体验,探索更多的玩法。

f73746e5fee132edb4a618630bf3fd82.png

本届 GDC 大会期间,Cocos 引擎架构师周正龙引擎技术总监 Panda 将受邀出席开源游戏开发峰会,并发表题为“Render Graph, a Data-Oriented Approach”的演讲,展示 Cocos 在图形渲染领域的最新研究成果,也代表着 Cocos 在追求关键技术突破方面的持续努力。演讲时间为当地时间 3 月 21 日 15:50。

53d56ea0ba6be2e2db12f87bb6dcabb2.png

在“Render Graph, a Data-Oriented Approach”的演讲中,两位演讲者将重点揭秘 RenderGraph 是如何实现更好的伸缩性,展示这种方法的架构以及对渲染管道开发者带来的好处。

那么,什么是 Render Graph?对于开源游戏的意义是什么?Cocos 与两位演讲者进行了访谈,帮助我们对演讲内容有一个初步的前瞻。

C 姐:非常高兴可以和两位交流,我们快速进入主题。什么是 Render Graph?

周正龙:从技术层面上讲,Render Graph 是一个基于图的数据结构,用于描述渲染流程,比如一帧画面该如何渲染出来。对于开发者来说,Render Graph 能利用现代图形 API (如 Vulkan 和 Metal),通过自动的异步任务调度、更高效的内存利用以及自动资源屏障来提升性能与开发效率。

Panda:这是一个更加用户友好的解决方案。使得现代图形API的复杂性对用户透明,用户可以更多关注在应用层面。

C 姐:这与其他游戏引擎技术有什么不同?

周正龙:据我所知大多数 Render Graph 的使用是过程式的,开发者需要擅长编程,并且较难快速写出想要的管线。我们的方法是声明式的、面向数据的,对开发者隐藏了部分细节,使用起来更容易。声明式编程(例如SQL)相比于其他的编程范式,也为引擎提供了更多的优化机会。

Panda:由于图形开发人员赋予了驱动程序对硬件的完全控制权,使用像 OpenGL 这样的 API 你需要写大约 100 行来画一个三角形。而使用 Vulkan,至少需要写 1000 行。并且要处理的事情太多了,特别是资源绑定和屏障管理。我们需要对复杂的场景进行跨平台渲染,而并不是所有的平台都共享相同的语言和设计理念。

c669c9a1d12cccef87b7cf57d550ccdd.png

使用这些新的图形 API,我们需要对渲染流程和使用的资源进行精细的控制。我们的赛博朋克demo 中有十几个渲染 Pass 和数百个 Draw Call。当用户想要像赛博朋克 demo 一样定制一个复杂的渲染管线时,Render Graph 提供了简单的 API 来与之交互。

这不是一个完全全新的概念,Frostbite 在 GDC17 提出了 FrameGraph 的思路,对我们启发很多。我们很高兴与 GDC 的参会者们分享我们基于 FrameGraph 思想演进后的开源解决方案,开发者可以在未来的游戏开发中使用这个解决方案。

C 姐:是什么促使你们去打造这种全新的 Render Graph?

周正龙:在现代图形 API 中构建出一个正确的渲染管线是很难的。管线程序中有太多互相关联的状态需要设置,出现问题很难定位,需要好的算法来管理这些状态。我们的 Render Graph 就是为了解决这个问题。有了 Render Graph,像是资源屏障(Barrier)这样的状态,可以从用户的输入信息中自动推导出来,不再需要手动设置。Cocos 引擎还可以验证用户的输入是否正确、合理,并进一步优化渲染流程。这大幅简化了渲染管线的构建,提升了开发效率。

C 姐:你认为演讲中最有趣的部分是什么?

Panda:肯定是 Render Graph 的核心设计。我们用了两年的时间进行相关研究。对 Cocos 来说,最激动的是能与全世界的开发者分享其中的设计思路。

周正龙:应该是面向数据的 Render Graph 设计。我们以 boost-graph 为基础重新设计了数据结构,并且在此基础之上附加了更多的图的概念,比如 component-graph 和 polymorphic-graph,使得功能更多样化,我们将展示如何使用 Render Graph 来解决不同的渲染问题。这些图的概念和数据结构是通用性的,能应用在渲染以外的编程领域。

C 姐:最后一个问题,参加本次 GDC 你最期待的是什么?

周正龙:这是我第一次参加 GDC。我对大会和幕后的技术相当感兴趣。同时,距离我上次来美国也有十年了,我很期待能感受到美国发生的变化。

Panda:就个人而言,我想看看过去一年的新的图形工程方面的进展。我还想看看移动端芯片上的光线追踪实践,另外 AIGC 也是我非常关注的领域。当然,最让我兴奋的是终于能和海外的开发者和合作伙伴在线下见面。


点击文末【阅读原文】前往 GDC 2023 官网,了解更多大会信息。欢迎参会开发者在当地时间 3 月 21 日 15:50 来听 Cocos 的分享,如果您想在 GDC 期间与 Cocos 团队交流会面,请联系我们,期待和大家在现场相见!

往期精彩

1a3daf7f5666f04b781646f3bc28f635.png

ba945f28bcf6d87eb43af962c5d834c8.png

1f8e6c6124da074f1c9446dcdbd2167f.pngdd08f1a3af8851f3048d9ca63aef8172.gif

猜你喜欢

转载自blog.csdn.net/weixin_44053279/article/details/129211028
GDC