POPPUR爱换

标题: 三重缓冲是啥意思? [打印本页]

作者: FFF3    时间: 2007-2-2 15:56
标题: 三重缓冲是啥意思?
:blink:

开不开有啥区别?
作者: 小困    时间: 2007-2-2 15:58
显存占用率与三级缓冲

  看来,三级缓冲就是低帧速的完美解决办法,不过,这并不是免费的午餐。打开三级缓冲也意味着需要多50%的缓存空间。在某此条件之下,它也可能会对游戏效果产生负面影响。举个简单的例子来说明这个潜在的问题:譬如当我们在1600x1200分辨率下运行游戏的时候,每个像素需要32bit空间储存信息,1600x1200x32=61,440,000 bit,将它转换成MB为单位,相当于7.32MB。使用二级缓冲,需要 14.64MB显存;为了使用三级缓冲,则需要21.96MB显存。呵,不就是21.96MB吗,有什么大不了的?当今显卡都板载256MB显存。

  没错,由上文看来看来显存占用率不成问题。不过,一旦打开4x FSAA,这个数字就会飞速膨胀。在打开4x FSAA的时候,有多出4倍的像素进行取样,如此21.96MB乘4,变成可观的87.84MB!这就大于显存总容量的1/3了。如果这个游戏需要用 200MB的空间储存材质、光影、各种贴图……等等,游戏效果就会非常变得非常糟糕,会由于不时存取硬盘产生大量停滞现象。这里只是提醒大家注意,如果发现游戏过程中存取硬盘过于频繁,则可能说明3级缓冲占用了太多显存,此时你就应该考虑降低游戏的画面设置或者购买更高档的显存容量更大的显卡了:P。

结语

  如果你特别讨厌游戏中的画面撕裂现象,而打开垂直同步又会降低帧速带来一顿一顿的副作用,试试看,或许用上面介绍的方法打开3倍缓冲,能够得到满意的效果。


GOOGLE的
作者: FFF3    时间: 2007-2-2 16:02
明白了,楼上的真快...................
作者: 麻麦饮    时间: 2007-2-2 16:33
:loveliness: 算法问题...显存放不下可以先放内存,需要时再交换入显存,不一定要频繁读硬盘嘛,是写程序的人水平太烂了,不关显存的事啊
作者: Edison    时间: 2007-2-2 16:33
简单来说,就是能够在打开Vsync的情况下依然有较稳定frame rate的解决手段。
作者: roadrunner    时间: 2007-2-2 16:54
上文那么多明显错误cho都视而不见, 看来是心不在焉了

开多少FSAA并不会影响三缓冲的内存占用量
作者: 毛毛卡    时间: 2007-2-2 16:59
好呀,不知道对不?
作者: Edison    时间: 2007-2-2 17:03
我原本就认为是一句话就能解决的贴,所以的确没有对那一堆东西仔细看。

FSAA同样不会在double buffer时增加内存占用(相对关闭double buffer)。
作者: RacingPHT    时间: 2007-2-2 17:10
提示: 作者被禁止或删除 内容自动屏蔽
作者: 89度热水    时间: 2007-2-2 17:13
Vsync是什么?:unsure:
作者: D65    时间: 2007-2-2 20:22
Double buffering垂直同步后的祯速,要么是和刷新率一样,要么是1/2。
三级缓冲能够缓解GPU休息过头的毛病。但仍然会有祯速损失。

好像D3D的三重缓冲,不太容易开。对祯速情况不熟的人,不好判断是否开成功。




欢迎光临 POPPUR爱换 (https://we.poppur.com/) Powered by Discuz! X3.4