在3.8渲染管线里,引擎对于forward-pipeline/deferred-pipeline,post-process-pipeline,custom-pipeline三类型都有不一样的实现方式,那么对于自定义渲染管线推荐用哪种方式去实现比较好呢?
看文档啊,custom pipeline基于RenderGraph,也有其他引擎称为FrameGraph。本质是对渲染逻辑的抽象。cocos做这个东西是旧的内置管线如果要跨平台的话(WEB/NATIVE)需要实现多套代码(TS/C++)。cocos本身为了降低开发者制作管线的难度和成本,所以实现了现在最新版本的Pipeline(当然本身RenderGraph/FrameGraph就是渲染技术的技术力体现,可以自动剥离当前pass不需要的resource。自动排序渲染流程,这也是cocos要使用这个技术的原因之一)。所以如果你是要开发跨平台管线,基于cocos肯定是使用最新的custom pipeline。毕竟旧的管线都不支持compute shader不是。你不用新的也不大可能。
但我这里也要提一句,由于RenderGraph需要每帧Compile Pipeline。所以这部分损耗是必有的。所以如果你不是跨平台管线,而是只针对web/小游戏的话,可以酌情考虑。你可以打包简单裸包对新旧管线在小游戏平台进行自我测试。以便更好适配自己的项目需求。