作者jk21234 (BL2400PT真不错)
站内PC_Shopping
标题Re: [请益] 请问Haswell集显效能提升的问题
时间Sat May 12 10:28:08 2012
後来看到Lucid MVP的原始广告,
"他会智慧型的决定哪些render命令可以省略"
好的 要说Lucid MVP是
取巧还是
作弊都通.结案了
底下继续回到SLI/Crossfire的micro-sturring
※ 引述《Khadgar (Khadgar)》之铭言:
: 感谢Jk大的详细解说
: 由於AFR可以大幅提高平均FPS, 但是牺牲的是两个frame之间的
: frame interval的稳定性
: 这是否表示说, 假设单GPU render第k个frame的 interval是 Tk
: 那 Single GPU的情况下就是
: n n
: 测试 FPS = --------------, 但是实际上的 FPS = ---------------
: Σ(1,n/2)T 2k Σ(1,n/2)T 2k-1
其实micro-stuttering的发生主因在GPU2会比较慢算完而且还要再把
frame buffer传回gpu1,
GPU2
------2----------4-----------6------------8---------理论
----------2----------4-----------6------------8-----实际
GPU1
1-----------3-----------5------------7------------9
合成後
1-----2-----3----4------5----6-------7----8-------9 理论
1---------2-3--------4--5--------6---7--------8---9 实际
第一个传给gpu2比较慢的原因...这我要老实说我不知道,
因为我没有作过有crossfire/sli的gpu.
第二个回传的framebuffer大概要花多少时间可以用估计的,
因为SLI/crossfire的cable大概都只有1GB/S.不靠cable的时候
可分享到的频宽也没有比这个高很多...
1920x1080,RGBA frame buffer就要1920x1080x4 byte.>8MB,
用1GB/S的cable传递至少要8ms.>60FPS以上的时候这就吃掉一半的时间了
如果还要传递Z+stencil,就是1920x1080x2~4 byte...但好像不会这麽作
事实上AFR中因为这个因素造成的micro-stuttering,其他实作法中
虽然不会产生micro-stuttering,但是会以降低总FPS表现
假定GPU2开始绘制的时候的延迟是2ms,而他复制frame buffer回来到gpu的时间
是6ms.GPU1/GPU2单张正常绘图的时间是33ms(=30FPS).
那麽....
AFR下.
GPU2
-------2--2-------4--4------6----6------------8----
2+33ms 6ms
GPU1
1-----------3-----------5------------7------------9
33ms 33ms 33ms
合成後
1---------2-3--------4--5--------6---7--------8---9
1-2之间,原本预期是33/2=16ms,但实际上会是33/2+2+6=24ms,
2-3之间就是33/2-2-6=8ms,所以这个系统中,frame会以24-8-24-8
的间隔产生micro-stuttering,帐面FPS是60,但体感fps在40左右或者更差
如果用非AFR呢?GPU1绘制一半的图的时间是16ms,但GPU2绘制一半的图的时间则是
2+16+6/2(因为Framebuffer剩下一半)=21ms,帐面FPS和体感FPS都是48左右.
GPU厂商预设爱用AFR是因为数字真的都比较漂亮.
: 问题1就来了, 如果说GPU1 比 GPU2快 (例如Hybrid CF)
: 那会变成
: (情况1)
: |1|---T1--- |3|---T3---(pending GPU2) |5|---T5---
: **|2|-T2- **|4|-T4-
: 的哪种情况呢...找了好久好像都没有这方面的东西
: 如果是 1, 就会变古老的 5870/5850 CF = 5850 CF, 因为5870 要等 5850
大多数都是1.然後限制只能使用同级晶片SLI/Crossfire
ATI/AMD的限制比较宽一点点但还是同一颗晶片的不同版本.
虽然应该没有厂商使用2.的方法,不过他不会造成micro-stutering更严重.
毕竟假如由GPU2连续计算两个frame的话 那他两个FRAME都会延迟,间隔还是一样长.
: 可是实际上感受到的FPS根本更差, 因为如果|x|就单纯复制|1|,那根本就等於把
: 一个Frame拆成两个 frame来算 FPS....当然数字会变大
: 还有一个问题是, MVP真那麽聪明知道下一个frame一定和上一个frame一模一样?
: 他如果判断错误, 那不是只会拉低时实际上感受到的 FPS?
: (因为他把本来应该有2个 frame一小段画面变成1 frame...等於实际上吃掉一个frame)
如同前面所述,Lucid MVP会省掉部分绘制,但实际上画面没有更新的话,
除了制造假的高FPS....还有一个不同就是传统游戏制作很多都是侦测键盘输入/网路等
周边事件,是和一个frame更新完之後一起作,那麽这一些游戏在Lucid MVP下就不会
因为FPS瞬降而导致输入不及.也许这是少有的好处?但不是竞赛选手说起来也没差.
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.114.78.54
1F:推 MiniTyphoon :有神快拜!! 05/12 10:30
2F:推 knightkid :快推不然人家以为我们看不懂 其实还是看不懂 05/12 10:33
3F:推 gaiaesque :恩恩原PO把我想的都打出来了~~~ 05/12 10:34
4F:推 batschris :有神快拜! 05/12 10:38
5F:推 smkingpk :娘子 有神快出来拜~~ 05/12 10:40
6F:推 hirokofan :有神快推 05/12 10:53
7F:→ s30431 :淡定吗? 05/12 10:55
8F:推 taco20 :能不能用一句话解释 "有用但是不显着?" 这样吗? 05/12 11:04
9F:→ jk21234 :LUCID MVP的话 就是取巧啊...制造帐面数字 05/12 11:17
10F:推 wch6858 :jk推! 05/12 11:31
11F:推 Jay915 :推~ 05/12 11:37
12F:推 VictorTom :推:) 05/12 14:03
13F:推 hgtt :推 05/12 17:13
14F:推 AXby :推 05/12 21:04