为什么 CPU 编译 GPU 着色器?
Why the CPU compiles the GPU shader?
为了大致了解 GPU 的缓存支持是如何工作的,我阅读了一些资料并理解了这一点:
CPU编译shader并将shader生成的代码传输给GPU执行并保存到磁盘。
如果需要执行相同的着色器,GPU 会直接从磁盘中获取它保存的二进制代码。
如果我没理解错的话,我不明白为什么CPU每次都要编译shader
除非着色器没有在运行前编译(即在开发期间)?
并非所有 GPU 都使用相同的指令集。只有磁盘上的二进制文件意味着可以与该软件一起使用的 GPU 架构集将永远固定。
为了大致了解 GPU 的缓存支持是如何工作的,我阅读了一些资料并理解了这一点:
CPU编译shader并将shader生成的代码传输给GPU执行并保存到磁盘。
如果需要执行相同的着色器,GPU 会直接从磁盘中获取它保存的二进制代码。
如果我没理解错的话,我不明白为什么CPU每次都要编译shader
除非着色器没有在运行前编译(即在开发期间)?
并非所有 GPU 都使用相同的指令集。只有磁盘上的二进制文件意味着可以与该软件一起使用的 GPU 架构集将永远固定。