|
|
原帖由 smilexp 于 2006-6-4 22:50 发表" z, U5 y4 G, ?5 K& ~, m
7 \/ e, J, F5 ]. D. j6 l8 N' a
" \' d1 Z! W$ }- h# S" l! F+ ]; E
延迟能有多少?要是有延迟问题,专业声卡都不用混了,也别用电脑混音制作CD了( } \& v2 z) M! o5 F1 p3 C
& i: ^( l# _: Z9 i+ C g# C+ s让我们估算一下1秒钟声卡需要处理的数据量:5 X, a1 `4 ?2 W
即使一个BT游戏是实时7.1声道192KHz/24Bit输出,那么
2 E, Z" {5 @7 `& U4 A192000X24X8/8/1024=4500 ...
" ?8 g2 ~; }8 S/ l& s
" I% s! E; S# W9 T- O你的理解就是错误的。
. K2 c+ F+ b* L+ i
5 w# Z5 o* O" \) L( }( C' m4 X4 u你上文说的过程是声卡收到数据并处理输出的过程,按我的理解,对于高性能的声音处理器来说,这个过程应该是延迟最小的一个阶段,而且你所举的音频数据量也说明瓶颈并没有在声卡本身。6 d" g1 t7 c4 N0 `1 t- r0 X# P
6 N1 I% c d/ H% C/ y% B我所说的延迟指的是音频数据从内存传递到声卡这段时间产生的延迟。1 k6 A6 ]7 T0 H+ v
0 w* e# {- k+ {2 d! K6 bcpu发出指令要求声卡处理某部分音频数据,需要把数据从内存通过北桥送至声卡所处的pci接口,cpu可能还要等待声卡反馈的信息,这个过程不可避免要有延迟产生,pci不想agp接口还有快写的设置,并不能直接读取内存中的信息,以pci接口133M/s的速度,1.5M的数据要11.5ms才能发给声卡,还得是声卡独占pci带宽,这在实际应用中是不可能的,加上北桥的延迟,恐怕要15~20ms才能完成。4 Z( W5 {- S5 ^* h4 e: u
对于一颗3G的cpu来说,20ms是多少个时钟周期?可以干多少工作?一颗高性能的Gpu在20ms里可以渲染一帧完整的游戏画面,现在大家都要停下来,只为了等声卡小弟弟发出的那一声响亮的“bang”# q9 u& ?, w. K P4 a" h/ u
$ d7 ]0 X, Y0 }
我不懂pc技术,上面说的细节就算是主观臆断,但我相信原则表达清楚了。也希望真正的技术高人能出面为我等解惑。 |
|