甚麼要巨熊折服, 請拿出證據否定我指Audigy異於10K1的言論

音效卡的問題在此討論。

版主: DearHoney

demoliu
初學者
文章: 27
註冊時間: 2001-10-03 08:00

文章 demoliu »

<!-- BBCode Quote Start --><FONT COLOR=GREEN>
SB Live! 的 3D 定位音效很爛!
但是 Audigy 的 3D 定位音效卻有很明顯的進步。
EMU10K2 提供更多運算能力? 超級大問號!
EMU10K1 並沒有任何效果器以外的計算能力, 到了 EMU10K2 我也不相信會有。
而且假若 Audigy 的 3D 定位音效是使用到了 EMU10K1 所沒有的新的硬體加速功能, 那麼這部份的能力就不可能在 SB Live! 上面出現! 因此得證這功能完全是軟體完成, 或是就算有用到硬體也只用到 EMU10K1 和 EMU10K2 都有的部份。
</FONT><!-- BBCode Quote End -->

其實這部分很簡單,請你用以下測試就可以確認
第一先將Live!裝LiveWare V3.0,測試其CPU使用率
接著在Live!上裝Audigy的驅動後再檢測CPU使用率
最後在用Audigy檢測CPU使用率,
如此就可以知道這3D加強的部分是利用硬體還是軟體!
PS:在使用3D定位音效時的CPU使用率!
如果Live!下,兩個驅動程式在做3D音效定位所造成的CPU使用率有極大的不同,EX:從5%到10%這個情形,就表示是由軟體做到的,
但如未有大量增加CPU使用率,則表示該功能其實是由硬體即可完成,但以前的驅動並未做到!\r
而再看Audigy的部分,觀察CPU使用率與Live!安裝Audigy驅動後的CPU使用率的差異,如果一樣,代表這部分晶片的設計是相同的,
但如果Audigy的CPU使用率有較明顯的差異,則表示兩者確有不同,
關於此點請你做完測試提出說明,不要用如此簡單的方法說明,因為你這個說法是有一點一相情願的說法,缺乏實際的證明! [b12]


其實就Creative未能替Live!系列產品進行支援的情形,(EX:未能解決Live!四聲道版本在2K下的數位輸出問題)我也覺得很不滿!
但這畢竟只是針對該狀況,實在不應該將這個情形全部一概而論,兩著晶片上確有不同的地方,畢竟不能做全盤的否認啊!
的確以Live!而言,只要利用軟體就可以強化3D音效定位,這個是事實,但這並不表示Audigy也是利用軟體來達成,
其實就A君所轉貼的方法看來,在Creative的驅動很明顯原來就是要做UDA的驅動,
而在UDA的情形下,其驅動的部分實際安裝進OS的部分仍有可能有所不同!
以n牌顯卡的驅動而言,就是如此,
但這並不表示n牌較為低階的顯卡其3D較高階的功能就不能使用,只是改利用軟體做運算罷了,不是嗎!
JamesT
神人
文章: 1347
註冊時間: 2001-01-04 08:00

文章 JamesT »

<!-- BBCode Quote Start --><FONT COLOR=GREEN>
就算是達到同樣或類似的功能,也有可能是在 EMU10K1 上,是完全用軟體做,而在 EMU10K2 上,卻是有一部份用硬體做啊!
</FONT><!-- BBCode Quote End -->
即便如此, Creative 並沒有提供出「讓 SB Live! 可以軟體做」的機會。是「被別人發現可以」。
<!-- BBCode Quote Start --><FONT COLOR=GREEN>
3D 定位音效是由 DSP 裡面跑的程式(或是 CPU 跑的程式)來產生的。這個軟體需要時間和金錢來開發,而且通常會需要花比「寫 driver」更多的時間。
</FONT><!-- BBCode Quote End -->
EMU10K1 不含有任何效果器以外的運算能力, 單憑這個事實, 就可以知道至少在 SB Live! 上能夠跑出 Audigy 的 3D 定位音效是用軟體做到的。

前面舉的顯示卡例子不夠好, 我再舉一個應該會更好的例子。

我們就直接用音效卡來講吧。A3D 1.0 和 A3D 2.0, 是 Aureal 的 3D 音效 API ( 也是 API 呀 )。A3D 2.0 的效果比 A3D 1.0 好, 因為它比 A3D 1.0 增加了 geometry sound rendering , 這個部份, AU8830 可以加速它的運算, 至於 AU8820 則仍然可以做到部份加速 ( 關於 A3D 1.0 的部份, 主要是 positioning HRTF ), 而 geometry sound rendering 則由軟體來提供接近的效果 ( 在 performance hit 的考量下, 不能做到完全一樣 )。

我認為 3D 定位音效 API 要算是驅動程式的一部份, 所以我才會說「這種程度的 3D 定位音效本來就應該是 SB Live! 要提供的。」
<!-- BBCode Quote Start --><FONT COLOR=GREEN>
做顯示晶片的人,如果某個顯示晶片不支援某種新功能,他們也不會花時間去為它寫個軟體模擬的部份吧!就好像 GeForce 3 支援很多 GeForce 2 沒有的新功能,有誰會期待 NVIDIA 在 GeForce 2 的 driver 裡面模擬所有的 GeForce 3 的新功能?\r
</FONT><!-- BBCode Quote End -->
我並不是要 GeForce2 能夠完成 GeForce3 才有的功能, 比方說 DX8 shader, 這個東西是 GeForce2 不可能做到的; 我想表達的是, 若某些事情 GeForce2 能夠做得到, 或做得更好, 驅動程式就應該提供到 ( update 到 ) 它所能做到的全部或最佳狀況。因為這整個產品主要是「硬體」, 驅動程式的價值是附庸在這個硬體上。就如有人說更新驅動程式是不收錢的。
<!-- BBCode Quote Start --><FONT COLOR=GREEN>
所以,如果說 EMU10K1 本來就有完整的 3D 音效定位功能(指 hardwired 線路就提供這樣的功能),只是被 Creative 故意關掉部份功能,後來在 EMU10K2 中,其實硬體完全相同,但是卻從 driver 中開啟這些功能,那還可以說 Creative 這樣做不是很恰當。
</FONT><!-- BBCode Quote End -->
沒有任何音效卡有所謂「完整」的 3D 音效定位功能硬體線路, 像 AU8820 和 AU8830 都是把 A3D 中 time critical 的運算做成硬體以求取加速, 而 EMU10K1 則根本沒有這方面的運算。

即便是 EMU10K2 有增加一些加速 3D 定位音效運算的部份, 那麼既然這份驅動程式已經被試出來可以在 EMU10K1 上得到相同的效果 ( 頂多只是比較慢, 還沒人測 CPU 使用率 ), 表示 Creative 已經為 EMU10K1 寫好了「軟體模擬」囉, 那為什麼不提供給 SB Live! 的使用者呢? 因此我即使沒有直接證據, 我也可以合理的推測這乃是因為這個有進步的 3D 定位音效乃是全軟體完成的, 不是嗎?
<!-- BBCode Quote Start --><FONT COLOR=GREEN>
如果它的 3D 定位本來就是用軟體做的(不管是 CPU 跑的還是 DSP 跑的),那不同的產品附上不同的軟體,本來就是很正常的事啊!我不覺得這有什麼問題。
</FONT><!-- BBCode Quote End -->
因為我不認為是這樣, 我認為 3D 定位音效的層級是屬於音效卡的驅動程式的一部份。它是附庸於音效卡的。所以我覺得有問題。
<!-- BBCode Quote Start --><FONT COLOR=GREEN>
至於 SSE…我想提醒一下,SSE 已經有超過兩年的歷史了。而且,也的確是有程式只支援 SSE(整數運算部份)。像是 Cinema Craft Encoder 就是一個例子,它一定要在 P3 或 K7 等支援 SSE 整數指令的 CPU 上才能執行。這哪裡荒唐?
</FONT><!-- BBCode Quote End -->
我想這方面我的意見是有瑕疪, 回歸到一開始提出說以 CPU 來類比這件事, 因為有人說「不同的CPU可以執行同樣的功能, 難道你能說各個CPU本身是一樣的嗎?」我是因為「這句話」在這個議題裡面並不具代表性, 所以才說不能這樣類比。不同的 CPU 依照著相同的標準 ( x86 ), 當然在 x86 的行為上要幾乎一模一樣 ( 速度不同 )。音效卡又不是依照同一個標準來做的, 至少我們現在在討論的部份不是。

新的 CPU 提供更新更快速的指令, 類比為音效卡的情形的話, 我想在這裡我先假設 EMU10K2 真的比 EMU10K1 多了一些功能 ( 特別是關於 3D 定位音效的 )。

於是開始有軟體使用到新 CPU 的新指令, 比方說 SSE 可以做單精確浮點數運算比 x87 快, 但是並不是 x87 就做不出同樣的計算。

今天 EMU10K2 說它有新的 3D 定位音效, 很好, 但是並不是 EMU10K1 就做不到同樣的事, 而且最重要的是已經被證實可以。

這就有如一個軟體商賣你軟體, 明明你已經有一台 Pentium2 的電腦, 而且他寫的軟體其實也可以只用 x87 就跑出來, 但是他硬是要你再跟他買一部 Pentium3 的電腦, 因為他說他的軟體是要用 SSE 才行。
<!-- BBCode Quote Start --><FONT COLOR=GREEN>
如果現在有人推出一定要 MMX 才能執行的程式,你會覺得荒唐嗎?現在還有什麼 x86 CPU 不支援 MMX?
</FONT><!-- BBCode Quote End -->
事實上我知道確實很多程式一定要 MMX。MMX 是一些整數的 SIMD, 幫 x86 加快一些像是整數的矩陣運算等等。但是 MMX 能做的事情 x86 也能做啊! 只不過比較慢而已。如果軟體商不願意寫通用的版本那也就算了, 如果明明已經寫出來卻又告訴你沒有, 又要你再買一台 CPU 有 MMX 的電腦咧?


<!-- Edit Notice Start -->

<font size=-1>[ 這篇文章在 2001-11-07 07:51 被 JamesT 編輯過 ]</font><!-- Edit Notice End -->
hotball
神人
文章: 322
註冊時間: 2001-09-28 08:00
聯繫:

文章 hotball »

我覺得 SB Live! 應該做到什麼程度的 3D 定位音效,是見仁見智的問題。以消費者的立場來看,我們當然都希望 SB Live! 能使用最新的 3D 定位音效技術,但是從 Creative 的立場來看,則不見得有此必要性。這並沒有所謂的正不正確的問題。特別是,如果它完全是由軟體運算達成的,那就沒有所謂的「發揮其硬體功能」的問題。若是如此,那是否新的演算法也應該能套用在 PCI 128 上?PCI 128 的 driver 亦有 EAX 的軟體模擬。

另外,就算是 Creative 已經完成所謂的「軟體模擬」部份(假設 EMU10K2 真的可以部份用硬體執行),也不代表它真的有商品化的等級。也許它還會有一些奇怪的 bug 也說不定。這牽扯到後續支援問題,不是簡單一兩句話就可以解決的。

我是不清楚 Creative 倒底是在搞什麼鬼,不過,以軟體商的例子來看,就算真的有不用 SSE 就可執行的版本,也不見得會真的推出的。很多軟體在開發時,雖然是以 SSE 或 MMX 為考量在開發,但是為了 debug 等原因,很有可能會有一份使用 x87 或一般整數指令的版本。但是那個版本很可能並沒有達到一般產品的品質,或是速度非常的慢,所以為了後續支援上的考量,可能不會推出其產品。像是 NVIDIA 的 driver 就具有一個 NV20Emulate 模式,可以在 GeForce 2 等級的顯示卡上,模擬出許多 GeForce 3 的功能(在 OpenGL 下)。但是它的速度非常的慢,所以平常是不會開啟的。這個功能只是讓程式開發者,在 GeForce 3 尚未推出時,用來開發 GeForce 3 功能的一個工具而已。現在 GeForce 3 出來了,NV25Emulate 也跟著出來了,但是這些功能並沒有開放給一般人的必要性,而且也不實用(對一般人來說)。\r

其實原來討論的重點,應該是 EMU10K1 和 EMU10K2 是否在硬體上完全相同。這點我想很難有確切的結論,除非能取得其晶片的詳細資料。但是因為 Creative 並無將其晶片出售給其它廠商生產音效卡,所以我想外面的人要拿到其資料非常困難。不過,從現在看到的各種現象來看,EMU10K1 和 EMU10K2 應該是有一些硬體上差別,雖然也許差別不見得很大。\r
頭像
巨熊
神人
文章: 2741
註冊時間: 2001-04-17 08:00
來自: 臥熊崗
聯繫:

文章 巨熊 »

<!-- BBCode Quote Start --><FONT COLOR=GREEN>
這也是一種多軌錄音,把不同的聲音,分次輸入進來,彼此獨立,發音時共同輸出,而聽到混音效果。
</FONT><!-- BBCode Quote End -->
也許我該說清楚一點, 我看到的示範, 就是同一時間錄取S/PDIF in, Aux in及Line in 2, 錄出來便是同步而又分離的了, 成為三組獨立的 stereo track, 並沒有被 mix 在一起. 那是Audigy Platinum及EX所附送的Cubasis VST已可配合Audigy做到了. 其聲稱ASIO把Latency縮至2ms或以下, 據我對有關文件的理解, 就是指不同音源錄取的起動時間差.

問題是, Audigy並不是提供多個Wave Record Device, 而是提供ASIO Driver實行多軌錄音, 亦即目前只有用Cubasis VST才可進行. 至於Live方面, 零售版的Cubasis VST也有提供其ASIO Driver, 同樣可實行多軌錄音, 但其Latency好像有25-30ms.

在Live及Audigy上, 多軌錄音的最大限制是用AC97 CODEC替數個類比輸入混音. 由於它們是先混音後進入10K1/Audigy晶片的. Cubasis VST對它們根本做不了甚麼, 只能把它們錄成兩聲道. 不過, Cubasis VST可對應每一進入10K1/Audigy晶片的輸入並錄成獨立的聲軌.

聽說DirectSound也可對應多軌錄音, 但我仍未研究有關文件. 聽說是Latency較大, 據悉是因為ASIO Driver乃更低階的Driver.

<!-- BBCode Quote Start --><FONT COLOR=GREEN>
但因為我看到巨熊說可以多軌錄音,所以我還是試探性的問問看,不過 ASIO 這部分以前我也沒玩過,說真的也是經驗不足,自己是玩了半天沒有發現想要的多軌錄音模式,但怕是自己功力不足沒弄出來,還要靠大家多切磋切磋了。\r
</FONT><!-- BBCode Quote End -->
說實的, Cubasis VST挺有個性, 不像一般軟件不看說明也可單憑直覺去使用. 真的要拿說明或書本一步一步才能學.
頭像
巨熊
神人
文章: 2741
註冊時間: 2001-04-17 08:00
來自: 臥熊崗
聯繫:

文章 巨熊 »

請留意一下, 用WDM Driver時的CPU使用率不可跟用VXD Driver時的結果比較. 用VXD時是1%, 用WDM便隨時有10至20%, 這是現時所有音效卡也有的共通現象. 要試CPU佔用率, 似乎最好是用Windows 98 SE配VXD Driver.

而且, CPU佔用率不一定能反映軟硬體的分別. 即使是硬體加速, CPU也會扮演一定的角色. 例如T&L, 一般人只知T&L是用作處理複雜模型的, 但如果你用的是動態模型, 便得靠CPU修改在主記憶體內的模型, 再由顯示卡透過AGP取得更新的模型進行運算. 在此例子內, 即使是硬體加速, 模型及其變化愈複雜, CPU的負擔也同樣會增加.

CPU佔用率是很表面的東西, 硬體加速主要只是減低CPU的參與, 而不一定可排除CPU於工作外.

<!-- BBCode Quote Start --><FONT COLOR=GREEN>
其實這部分很簡單,請你用以下測試就可以確認
第一先將Live!裝LiveWare V3.0,測試其CPU使用率
接著在Live!上裝Audigy的驅動後再檢測CPU使用率
最後在用Audigy檢測CPU使用率,
如此就可以知道這3D加強的部分是利用硬體還是軟體!
PS:在使用3D定位音效時的CPU使用率!
如果Live!下,兩個驅動程式在做3D音效定位所造成的CPU使用率有極大的不同,EX:從5%到10%這個情形,就表示是由軟體做到的,
但如未有大量增加CPU使用率,則表示該功能其實是由硬體即可完成,但以前的驅動並未做到!\r
而再看Audigy的部分,觀察CPU使用率與Live!安裝Audigy驅動後的CPU使用率的差異,如果一樣,代表這部分晶片的設計是相同的,
但如果Audigy的CPU使用率有較明顯的差異,則表示兩者確有不同,
關於此點請你做完測試提出說明,不要用如此簡單的方法說明,因為你這個說法是有一點一相情願的說法,缺乏實際的證明! [b12]
</FONT><!-- BBCode Quote End -->
JamesT
神人
文章: 1347
註冊時間: 2001-01-04 08:00

文章 JamesT »

依照我到目前為止看到的文章, 我整理我的想法如下:

EMU10K2 晶片硬體提供的新功能包括:

1) 四組錄音裝置。EMU10K1 只有一組。

2) 四組效果器。EMU10K1 只有一組。

感覺上, 像是整合了四個 EMU10K1 在一起一樣。

另外, 整體來說 Audigy 音效卡提供了更好的 A/D D/A 品質。

也就是說 Audigy 是朝著比較接近於專業音效卡的方向前進。從這個角度看, Audigy 是不錯的產品。

但是以功能性來看, Audigy 仍然是要主打娛樂用音效卡, 上面那些有點偏專業的優點並不能造成賣點, 所以一定是要加入新功能, 而經過這麼多文章討論, 我幾乎無法不認為這些很炫的新功能, 其中包括我認為比較重要的 3D 定位音效, 都是軟體。

Audigy 的廣告詞裡有一句說「四倍於EMU10K1的運算能力」, 我直接就覺得這句話表示「四個EMU10K1」, 因為由 EMU10K1 的 datasheet 我們知道 EMU10K1 是在幹什麼 -- 也就是說 Audigy 的四組獨立效果器就把「四倍於EMU10K1的運算能力」這句廣告詞用光了, 到頭來還是只有效果器, 並不是加入其它的 DSP 能力。

OK, 我的想法和推測到此結束。其它由各位再繼續發揮吧。
RogerShih
神人
文章: 353
註冊時間: 2001-01-04 08:00
來自: 台北
聯繫:

文章 RogerShih »

<!-- BBCode Quote Start --><FONT COLOR=GREEN>
於 SSE 的事情…我要說的是,如果要讓程式能同時在「不支援 SSE」和「支援 SSE」的 CPU 上跑,又要利用到 SSE 帶來的好處,就得花時間多寫一份不用 SSE 的版本。這應該是十分明顯的吧!如果你的程式原來就沒有用到 SSE,然後想支援 SSE,當然就不需要多花這些時間。但是,如果你一開始是針對 SSE 設計,但是又因市場需要,得考慮不支援 SSE 的 CPU,那就是得多花時間。當然,我這裡說的「利用到 SSE 的好處」,不是那種利用別人寫好的 library,而是針對自己程式的需要來寫。這當然需要自己寫組合語言。
</FONT><!-- BBCode Quote End -->

要不要我殘酷的告訴你,如果有軟體一開始設計就只支援SSE的電腦才能跑,那絕對是因為策略關係要綁死特殊指令集才這麼玩??換句話說, 這不會是技術問題, 而是策略問題。

遊戲就不提!!因為有DirectX支援, 要支援特殊指令集如SSE、3DNow!,光你程式裡面用行內組語call一下SSE指令,還不夠,還要DirectX也支援才行,遊戲所有的重要輸出入運算工作,都幾乎給DirextX包了,換句話說,遊戲想綁死某個特殊指令集,DirectX還不會給你綁咧!!

所以要綁死,就是在自己撰寫的程式中做特殊指令集存在的檢查,檢查不支援就告訴你非SSE不可,故意死給你看、慢給你看。

有些繪圖軟體也有非SSE不可的,老實說,商業策略考量居多,想把某個特殊指令集捧上天而已,好像有了特殊指令集,效能就會百倍提昇??
我的熱力世界網站 http://www.MyHPW.com/
我的耳機世界轉移論壇 http://www.andaudio.com/ ,我的耳機世界網站保存 http://www.myhpw.com/phpbb3/
hotball
神人
文章: 322
註冊時間: 2001-09-28 08:00
聯繫:

文章 hotball »

SSE 的討論不應該繼續出現在這裡…
還有,告訴你一點,我自己的一個程式,和 DirectX 無關,用了 SSE 後快了一倍。那是我自己寫的。我不知道這和 DirectX 有什麼關係,或是為什麼我要支援 SSE 還要 DirectX 支援。
RogerShih
神人
文章: 353
註冊時間: 2001-01-04 08:00
來自: 台北
聯繫:

文章 RogerShih »

那是你自己決定自己程式要只支援SSE的吧,我不知道你這個程式要不要賣,但是以我寫遊戲的觀點來看,只有程式共通性越高,越不綁死在某一個特殊指令、或是特殊硬體上,產品才能有更大的市場。你寫個遊戲,只能在SSE上跑,那鐵定賣的比較差,至少用AMD或是舊CPU沒SSE的人,錢你賺不到。

看你的回應,你也有舊版不用SSE的程式版本,真的要做,只要偵測一下SSE指令集存不存在就行了,不是嗎?使用者要的就是誰比較貼心,不用在意有沒有SSE、3D!Now什麼的都可以跑,慢一點沒關係,至少不是死在那裡。XingVCD當初支援MMX還可以自由切換要不要用,後來MMX成為所有CPU的共通標準才內建,但也不是支援了MMX,舊的CPU就不能跑了,這是軟體可以偵測到的。

軟體不比硬體,3Dfx死在綁死軟體標準,Glide比3Dfx還早一年掛掉,因為他是獨家標準,我寫一個軟體只能在Voodoo上跑,只有讓自己的市場越來越小,寫D3D介面,不但Voodoo可以跑,其他顯示卡那一個不支援D3D的?市場誰大?SSE比較幸運的是它不會垮,甚至以後連AMD都會支援。可是寫程式不能一廂情願的認為大家用的都有支援SSE,這是程式開發人員必須面對的課題,儘管程式工作越來越累也一樣。

我個人會比較欣賞當初的nVidia,就是他在一些軟體的更新服務上,有能力、也有意願投入開發,提供給消費者,這是一種誠意,也是一種奇蒙子
。Creative讓人不爽, 不是因為它產品很爛很差....
我的熱力世界網站 http://www.MyHPW.com/
我的耳機世界轉移論壇 http://www.andaudio.com/ ,我的耳機世界網站保存 http://www.myhpw.com/phpbb3/
hotball
神人
文章: 322
註冊時間: 2001-09-28 08:00
聯繫:

文章 hotball »

我之前的意思就是說,因為 SSE 愈來愈普遍(AMD 也開始支援了,在 Athlon XP),所以當然會有人在開發程式時,因為效能的考量,一開始就把 SSE 考慮進去。把 SSE 考慮進去,不一定是一開始就拿出 SSE 指令硬寫,而是還有很多別的因素,像是資料的排列等等。以我的程式來說,它要處理一個 image,理論上每個 pixel 可以只用 3 bytes,但是為了將來可能採用 SSE,我一開始就多填了一個 0 進去,讓它變成 4 bytes。這對不用 SSE 的程式來說,是沒必要且多餘的,只是浪費空間。但是如果不這樣做,就很難有效用到 SSE 了。這就是一開始考慮時會造成的差別。

至於 NVIDIA 會一直更新驅動程式,有一個很重要的原因當然是因為強烈的競爭。3dfx 和 ATI 都是很強大的競爭者。雖然現在 3dfx 倒了,但是 ATI 還是作得很好。這種競爭甚至演化成惡性競爭,NVIDIA 和 ATI 都曾在 driver 上動手腳,讓他們的產品在流行的 benchmark 上看起來表現比別人好。

而且,雖然 NVIDIA 一直在更新驅動程式,但是我相信 TNT、TNT2 甚至 GeForce 256 的部份,大概早就沒在更新了。因為他們的驅動程式是整個合在一起的,所以看起來好像一直有在更新,但是我想最近的驅動程式,核心部份大概只有 GeForce 2 和 GeForce 3 的有在改,甚至 GeForce 2 的部份是否有改,我也很懷疑。他們也沒有這麼多人力每天去弄那些古代的產品… :)

我想 Creative 大概就是需要競爭者。不幸的是,這個市場似乎太小了,沒什競爭者願意進來。不然就是競爭者的 driver 也不怎麼樣。所以我才在想,不知道 NVIDIA 的 MCP 可不可以拿來做成一張附加卡。其它的功能都可以不要,把聲音部份留下來就好了…這應該會是一個不錯的高階音效卡。不過,看起來 NVIDIA 在還在和 driver 奮鬥中…
回覆文章