目前主流的渲染方法貌似还是以双缓冲交替渲染为主,那么就拿这个举例子好了。
简单的解释就是,显卡无法在一帧的时间内渲染完一帧的内容,因此只好继续把上一帧的画面输出到显卡。
复杂的解释如下。
显卡渲染一帧画面需要经过一大堆过程。首先是写渲染指令队列,然后把队列传输到显卡上,同时择机把贴图传输到显卡上。之后,显卡首先把模型变换到正确的视角上,然后计算贴图光照等等,计算结果写到帧缓冲上,最后把帧缓冲输出到显示器。
其中,显卡性能不够是会导致掉帧,但是不会突然毫无征兆的掉帧。通常突然掉帧但是很快恢复的,其实是IO卡住了,有可能是在等读盘,也有可能是在等贴图加载到显存中。
解决方法嘛。。。给电脑清个灰可以解决性能不足的问题,但是IO方面,如果做了碎片清理还是没有改善,就可以甩锅开发者了。
如果你是开发者,可以考虑想办法提高显存利用率,合理载入缓存、利用预缓存队列什么的。。。不过除非你自己写引擎,基本上没什么机会干这些事了233