为什么使命召唤,最后生还者等游戏需要在第一次进入游戏时编译着色器。而不是直接安装编译好的着色器文件
被浏览
4,131
你可以邀请下面用户,快速获得回答
委托刘看山邀请
开启后为你智能邀请潜在的回答者
秘银法王TA 已帮助 125 人获得解答
黑梅蒂尔的主场TA 已帮助 228 人获得解答
艾瑞克曾在「游戏」话题获得 540 次赞同
Gameplay编程匠腾讯 移动客户端开发工程师
3 个回答
ItalinkX.Y
了解一下PSO缓存:
mike:UE4 PSO缓存发布于 2023-05-03 00:19idovelemonProgrammer,Gamer
简单的说,平时我们写的 shader 只是一种资源文件,需要通过硬件自带的 GPU compiler 编译成对应 GPU 的机器码来执行。不同的机器所需要的机器码不同,所以基本都只能让机器自己去编译,无法提前准备好。
一旦机器编译好了之后,就可以缓存下来,以后打开程序的时候就不用再编译了。
不过 steam 似乎有一个功能,会收集所有玩家对应机型的缓存数据,然后你下载的时候可以将这个收集到的数据直接下载下来,省去第一次的编译,不记得是在哪里看到的报告了。
另外苹果公司的 Metal API 最新版本中,已经准备支持将编译好的机器码直接放在资源里面,后面程序跑的时候,不用在编译了。它能这么做是因为 API 和 芯片都是自己造的,其他公司模仿不来。
发布于 2023-05-06 15:37・IP 属地上海
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。