金钱 ¥
注册时间2018-7-12
- 积分
- 1510
|
这几天在等待c19v2版的时候,重新研究了一下国外改版PSP实况随机性死机的问题
大家都知道,国外PSP实况改版在存档的时候有一定的几率死机或闪退,所以要关闭自动存档来玩
我之前的研究,得出的结论是脸型问题导致,新脸型太多导致内存占用太大从而内存溢出导致死机闪退
这个结论是完全正确的,但目前我已经有了进一步的研究
之前我在做新队徽的时候,最起先是把新队徽的分辨率做的很大,比原版队徽还大一圈,但发现一个问题:游戏里编辑模式退出的时候100%死机
经过反复测试,最后无奈下把所有的新队徽都缩小了一圈
,这下终于不会死机了,也就是大家目前看到的效果
这说明了什么?说明编辑模式100%死机的原因是队徽的贴图太大了
熟悉游戏运行原理的都知道,游戏里的贴图体积越大,内存占用和显存占用就越高
所以我的推论是,由于PSP实机的内存太小只有32m,而实况游戏里的贴图素材实在是太多,所以k社做PSP实况的时候,各组件内存分配是非常紧张的
什么意思呢,就是游戏在运行的时候,很多组件正在加载,为了运行稳定,k社给各个组件都分配了内存占用上限值
比如队徽贴图的内存占用不得超过大约200k,如果超过了,可能会导致总内存占用超过了32m,游戏当然就boom了
由于我们没有官方的游戏调试工具,没法看到实时占用内存
所以目前的一个有效解决办法是,降低贴图的大小和体积,这样理论上就能降低游戏的占用内存,游戏也就不会死机了
更准确的说法是,为了保证肯定100%不死机,新的贴图大小和体积要低于原贴图的体积和大小,这样比较保险。因为你不知道上限值到底是多少,什么值是安全的,只有低于原贴图的大小,这才是100%最安全的
因此当我把队徽大小缩小后,游戏运行果然平稳如飞,再也不死机了(脸型导致的存档时死机除外)
队徽如此,那么贴图数量非常巨大的脸型和球衣也自然是一样的道理
老外在做新脸型的时候,是用真人照片修改而成的,贴图的精度相对比较高。但官方脸型是3d建模和真人照片结合辅助做成的,官方为了游戏稳定,脸型贴图精度是要低一点的
我已经做过统计了,老外的一个脸型的体积要比官方的脸型体积大1-2k左右。别小看这1-2k,脸型加载一多,可能就要相差几十k甚至几百k,对于可怜的32m内存的PSP无疑是毁灭性巨大的
那么如何解决脸型导致的存档时随机性死机问题呢?
我之前的方案是,把2014官方原版的部分脸型替换进改版里,这样的确能减少内存占用降低死机概率。但这样新脸型就没得用了,最后经过斟酌还是放弃了这个方案
但目前经过新的研究,我现在有个新的更切实可行的方案
根据上面说的研究结论,降低新脸型的大小和体积,特别是只要体积低于官方原版同位置贴图的体积,这样能做到新脸型的内存占用低于官方原版,这样理论上能做到100%不死机!
那么,如何降低脸型贴图的体积呢?经过网络搜索,我已经找到了一些dds贴图低损压缩软件,可以大大压缩dds贴图的大小,但画质只有轻微的损失,这样就达到降低贴图体积的目的了
球衣也是一样的道理,但c19版的球衣没有内存占用问题所以暂时不考虑这个问题
——————————————
但目前有一个比较麻烦的问题,就是PSP的脸型贴图导出导入,是需要一个个导的,没法批量导出导入
而游戏里有整2000个脸型。。。。。。
考虑到c19以后的版本里可能会有更多新脸型加入,而且我接下来要做的东西比较多,所以这个脸型体积缩减的死机解决工程暂时不准备启动,没有这个计划,所以请大家不要等待,谢谢~
可能在将来的某个有生之年会给大家一个惊喜吧,希望能有那么一天出现
如果大家有对这个问题感兴趣的话,也可以一起探讨一下哈~
|
评分
-
查看全部评分
|