关于磁盘着色器缓存简述:
先强调一下,我不是搞模拟器仿真的电脑技术专业人员,我只能使用者玩家角度,把我所理解的阐述出来
①,目的:解决以下具体情况时的掉帧卡顿:当A场景切换到B场景时,CPU和GPU一下子计算/交换传递极大量数据,产生剧烈的帧数起伏波动导致卡顿
②,原理:A场景和B场景,它们的着色器工作的部分数据,从内存中拷贝到"磁盘着色器缓存"文件里面,重启模拟器后,先把着色器缓存文件读条到内存里面。。。然后再遇到切换场景时,就不用重新去计算着色器工作的全部数据啦,CPU的工作量得到有效缓解于是就不卡顿流畅啦
③,结论:前一次着色器工作的具体情况,必须和后一次的着色器工作同步一致。否则前一次从内存拷贝过来的"磁盘着色器缓存"文件,它里面的着色器工作数据,不再和后一次的着色器工作具体情况相仿,于是产生差异导致冲突,模拟器就会崩溃和故障
先强调一下,我不是搞模拟器仿真的电脑技术专业人员,我只能使用者玩家角度,把我所理解的阐述出来
①,目的:解决以下具体情况时的掉帧卡顿:当A场景切换到B场景时,CPU和GPU一下子计算/交换传递极大量数据,产生剧烈的帧数起伏波动导致卡顿
②,原理:A场景和B场景,它们的着色器工作的部分数据,从内存中拷贝到"磁盘着色器缓存"文件里面,重启模拟器后,先把着色器缓存文件读条到内存里面。。。然后再遇到切换场景时,就不用重新去计算着色器工作的全部数据啦,CPU的工作量得到有效缓解于是就不卡顿流畅啦
③,结论:前一次着色器工作的具体情况,必须和后一次的着色器工作同步一致。否则前一次从内存拷贝过来的"磁盘着色器缓存"文件,它里面的着色器工作数据,不再和后一次的着色器工作具体情况相仿,于是产生差异导致冲突,模拟器就会崩溃和故障