以下黄字为skycat2216版友纠正与补充
为方便版众阅读 以及传达正确资讯 故加入此篇文章
刚好学过资讯
来回一下游戏运行与优化的原理好了
游戏优化并不是那么的容易 尤其在PC上
现在的PC使用的是"复杂指令集"
这代表每个输入的指令都是长短不一 复杂程度不同
而MOBILE的CPU、RAM都没有电脑那么高级 甚至使用的是CPU的内显
还可以跑很多特效华丽 画面细致的游戏
是因为手机使用的是"精简指令集"
不管是PC还是MOBILE CPU都使用二进制
复杂指令集就像
0111000
1001010010110
11010100101
010011100111
000101010100111010
而精简指令集就像
101010
101010
000101
101010
011101
明显看的出复杂指令集的空间复杂度与时间复杂度远大于精简指令集
智障都知道哪一种指令集可以更快速的运行
你可能会好奇 "干 那为什么PUBG不要使用精简指令集就好"
我只能告诉你 不可能 CPU架构不同
PC上的CPU是无法读取精简指令集的
当初CPU大厂intel设计出第一颗CPU时 就是采用复杂指令集
而电脑周边的零组件、作业系统以及程式 就是围绕着CPU下去制造
若要提升复杂指令集的运算速度 方法只有一种 就是升级硬件规格
升级CPU啊 RAM啊 GPU啊 或是超频
另一种方法就是硬拆复杂指令集成若干较为精简的指令再行运算
你在游戏中看到的每个物件都是一大串的指令
WASD 跳跃 蹲下 趴下 也都是一大串的指令
甚至你看到其他人物在奔跑 也是一大串的指令
若一个游戏要读取的动作、场景越多 则指令越复杂
暂停一下 你可能会问 "为什么动作场景越多,指令会越复杂"
我们做个假设好了
W的指令是001
A的指令是010
S的指令是011
D的指令是100
跳的指令是101
蹲的指令是110
趴的指令是111
那请问跑的指令不就塞不下了吗
所以场景与动作越多 所需的空间复杂度越大
而PUBG所使用的是开放式场景
也就是超出地图外的物件 还是有物件渲染
你看海就是一望无际 天空也是一望无际 超出边界的土地也是一望无际
这些指令就更加的复杂
那指令越复杂 运算就越慢
运算速度的快慢 会反应到你的画面上 也就是FPS
而游戏优化指的就是
"将这一大串的指令,用更小的时间与空间复杂度,将其输入给CPU"
而CPU会再下达指令给其他硬组件
但优化这些指令集就是关于到游戏引擎 也就是算法
那你可能会觉得 "干 说那么多 以后CPU就用精简指令集就好啊"
我也只能告诉你 不可能
全世界人口那么多 全世界的PC那么多台
使用复杂指令集的程式更多
如果要全部改用精简指令集的话 又是一次科技革命
别说游戏喇
连Windows、Office、新接龙、弹珠台 全部都要重做
你觉得有可能吗
我可以偷偷告诉你
现在intel已经偷偷出了可以同时执行精简指令集与复杂指令集的CPU
其原理就是将精简指令集转换成复杂指令集 故可以同时执行两种指令
但说到底 他妈的还是复杂指令集啊
那你可能又会说 "干 那就赶快改算法啊"
我还是会告诉你 不可能 顶多就是微调
但微调就很容易出BUG
例如:不小心定义到相同的指令集、让Code符合命名规则,却得整个除错
所以每次大更新后 常常出BUG就是此原因
修复BUG也是找出相冲的指令集 加以修改
但一张地图有多少的指令集 要挑出错误有多困难
就好比 你要从一本30万字的小说中挑出一个错字
而算法也不是说改就改
改算法几乎等于整个游戏都要重做 所有指令都要重新定义
所以别在优化优化 蓝洞都不做事的喊了
优化不是像网络上的什么一键优化
网络上流传的Config一键优化也只是更改你的电脑设定
将不需要的背景程序先暂停 并更改你的电脑设定
使其有更多的资源 更快速的运行指令而已
如有错误 欢迎于推文指正、讨论
※ 引述《seal46825 (Vanish)》之铭言:
: 以前我玩吃鸡fps大概都30-40
: 经过不断优化后
: 现在大概有40-50
: 不过玩过高fps的就会觉得真的差满多
: 不晓得吃鸡之后有没有可能更优化游戏
: 真希望可以优化到fps可以到60
: 我玩虹彩六号画质调差不多fps可以到60左右
: 不过pubg物件那么多可能不能这样直接比较?
: