调研到的结果:
Native plugin的好处:
1、资源、代码、核心算法保密(例如渲染算法、加密算法等)
2、性能提高(c++库效率比C#要高一个数量级,即便是il2cpp也有极大差异)
3、前后端都会使用的功能(例如生成的行走层,客户端和服务器都需要访问)
4、不用修改代码就能扩充接口,例如目前Unity还不支持Multi indirect draw,但是图形API和硬件很多都已经支持了,可以通过这种方式进行扩充。
坏处:
1、如果有渲染相关的功能,每种图形API都要有对应的实现。不过shader可以统一使用hlsl,使用HLSLcc编译成对应平台的shader,参考:unwind:跨平台引擎Shader编译流程分析。
2、调试不方便。Windows下使用VS直接钩挂进程可以单步调试,Mac下没试过。
有价值的资料:
1、官方的开源项目对于学习Native rendering很有帮助,但是框架不好:iOS下还需要将plugin的源码拷贝到Xcode里,做不到保密,开发流程也很低效。


本文深入解析NativePlugin在Unity开发中的优缺点,包括资源保密、性能提升、跨平台兼容性,以及调试难题。重点介绍了官方开源项目、DiligentGraphics插件和推荐的Cmake编译框架。
最低0.47元/天 解锁文章
714

被折叠的 条评论
为什么被折叠?



