加快Directx Shader编译性能

来源:互联网 发布:淘宝企业店铺流量扶持 编辑:程序博客网 时间:2024/06/07 06:18

最近遇到这个问题,有时候复杂的shader 编译会花几百毫秒,所以研究了一下,有以下几点可以优化:


1. Shader Cache, 这个是引擎肯定要支持的,不可能每次渲染都编译,把结果的handler存起来。


2. Async Compile,异步编译也非常好理解,主线程跑起来就是,只是需要渲染的物体可能会延迟几帧才会被渲染出来。


3. Offline Compile,把编译结果的机器码存下来,需要的时候从硬盘上读取。不过这种方式会让游戏的数据变大,不过不是时间换空间就是空间换时间,总是要有舍取。


现在看来,都多核了,当然异步编译应该是比Offline编译要好,时间不会长,空间也节约了。

原创粉丝点击