如果FPS高于刷新率VSync怎么解决?
VSync 通过建立一个不让在显示器刷新前将后备缓冲中的画面拷贝到显示缓冲中的规定来解决这个问题。如果FPS高于刷新率的话,没有问题。后备缓冲的更新完成后,系统处于等待状态。当显示器刷新后,后备缓存考入显示缓存,显示卡则可以在后备缓存里描画新的画面,这样就很有效的将你的FPS限制在显示器的刷新率的范围内。
这样看起来不错,但是让我们来看一个另外一个不同的例子。让我们假定你已经玩到了你最喜欢的游戏的最后一关,这个游戏有很好的图像.你显示器的刷新率还是在75。但是你的FPS现在只有50了,比刷新率要低33%.这就意味着每次显示器刷新图像,你的显示卡只能画出下一桢画面的2/3。让我们看看它是如何工作的。显示器刚刚更新,第一桢的画面已经拷贝到显示缓冲,第二桢的画面的2/3被写入后备缓冲,这时显示器重新刷新,它会第一次从显示缓冲里提取第一桢的画面。然后显示卡开始完成的第二桢剩下的部分。但是它必须等待,应为再下一次刷新之前它是不会上传的。显示器再次刷新,显示器不得不第二次从显示缓冲里提取第一桢的画面,然后第二桢的画面被写入显示缓冲。显示卡在后备缓冲中写入第三桢的2/3.等到显示器刷新,第一次从显示缓冲里提取第二桢的画面,显示卡开始完成的第三桢剩下的部分。然后又是第二次从显示缓冲里提取第二桢的画面,然后第三桢的画面被写入显示缓冲。如此类推。这样4次显示器刷新,我们只能的到2桢的画面。如果刷新率是75的话,我们只能得到35的FPS.很明显这个数值要低于显示卡可以带到的50FPS.这主要就是应为显示卡不得不在描画后备缓冲上浪费时间。而在此过程中,后备缓冲上的画面是不能被拷贝到显示缓冲。理论上讲,双缓冲的VSync,FPS将是一组不连续的整数,其等于刷新率/n,n是正整数。也就是说,如果你的刷新率是60hz,你能得到的FPS只能是 60,30,20,15,12,10 等等。你可以注意到60到30是一个相当大的差距。只要的显示卡的FPS在60到30之间,你说得到的真实FPS都将只能等于30!
费马小定理
费马小定理:a^p-a≡0(mod p),其中p是一个素数,a是正整数,它的证明比较简单。事实上它是Euler定理的一个特殊情况,Euler定理为:a^φ(n)-1≡0(mod n),a,n都是正整数,φ(n)是Euler函数,表示和n互素的小于n的正整数的个数(它的表达式欧拉已经得出,可以在“Euler公式”这个词条里找到)。
Copyright 2015-2022 财富赢家网版权所有 联系邮箱:920 891 263@qq.com