» 您尚未登录:请 登录 | 注册 | 标签 | 帮助 | 小黑屋 |


发新话题
打印

请问这着色器编译什么鬼

posted by wap, platform: GOOGLE Nexus 4
PC游戏10年钱就开始有了吧,

本质原因是主流游戏引擎依然在用宏开关控制shader变体,宏开关多了shader数量就会大幅上升,如果再加个连连看材质编辑shader数量直接原地起飞,UE4项目里shader数量爆炸就是很普遍的问题。

不过美末PC版这大概率是碰上bug了,正常上线版本不会这么离谱。


TOP

posted by wap, platform: GOOGLE Nexus 4
引用:
原帖由 @cc0128  于 2023-3-29 21:44 发表
所有用到着色器的游戏都要编译着色器成机械码,显卡才能读, 不同的显卡, 甚至不同版本的驱动都需要不同的机械码,即时编译容易卡。
为了解决这个问题,DX弄了个DXIL API, 游戏可以提前编译着色器成DXIL, 然后runtime的时候dx再将DXIL编译成机器码, 这样效率高很多。

缺点就是与个编译过程了。。
DXIL和性能没关系

DXIL/SPIR-V是为了方便跨平台和语言扩展设计的IR标准,shader前端编译不是什么性能瓶颈,不降低变体数量快不了多少的



TOP

发新话题
     
官方公众号及微博