念願的四聲道

有空了,開始整理….

首先,把本來給Notebook用的喇叭和老爹目前搭配PC使用的老床頭音響交換,然後把這組設備結合進客廳的系統嘗試看看。

先說結論:我可能還是先繼續支持Stereo會比較實際。

這回的主角是最上面這台JVC。
這組組合音響已經超過十二年了吧….
卡帶和CD都已經完蛋了,目前作為純擴大機使用中。
聲音….まぁまぁだな。

不過這讓我發現XBOX的多聲道果然只有遊戲才適合….
Dolby Surround DTS 5.1雖然是硬體支援的功能,不過由於只有遊戲具備多聲道訊源,平常聽音樂的時候大部分都還是只有兩聲道。

而XBOX具備有Dolby Surround Encode功能是沒錯,但是這種破壞性壓縮感覺上就讓人不太舒服;系統上乍聽之下是聽不太出來,但是反過來說Send Stereo to All Speaker並沒有顯著地改善立體效果。

其中一點可能是AD300的輸出電平實在太小了,在這部組合音響上的EQ表甚至看不到音量….
另外,音場部份的效果大概也和擺設有很大關係吧?
可是往後客廳已經沒有可用縱深了….
總之如果還想改善效果的話可能還要從長計議。

[PS3]PS3 SDK初期硬體曝光

資料來自本田雅一在ITmedia的Blog。
http://blogs.itmedia.co.jp/honda/2005/06/5_df9a.html

PS3SDK

降到2.4GHz(原始3.2GHz)的CELL、用300MHz(原始400MHz)的XDR、接單張430MHz的G70(RSX額定為550MHz)、最後是只有4-lanes的PCI-E(可能是Redwood轉RAID用的晶片、或者是PS3南橋的額外功能?)來連接GPU。

和實際的PS3規格相比還差了一大截….XD
這樣就已經可以在發表會上呼風喚雨了嗎?!

….我猛然覺得我不太想買G70了啊…XD

====
EDIT:
把在巴哈發的文轉回來….
http://webbbs.gamer.com.tw/brdThread.php?keyword=%5B%B1%A1%B3%F8%5DnVidia+G70+vs+PS3+RSX+vs+Xbox360+R500%28C1%3F%29&author=&brd=PS3

[quote]初期測試用的目標硬體,效能比目標實際的硬體差,
這點不能算嚴重的問題;
但是問題在"什麼時候能拿到實際的目標硬體"。
不然的話就只能繼續用3/4的規格開發下去,
並且維持著CPU-> GPU的大瓶頸。

其實巴哈首頁這邊講得不是很恰當….
數字上代表的意義並不是只有表面如此而已,
只用頻寬與時脈的比例來呈現,可能只能看到片面的事實。

我們是不太清楚插在SDK上面的G70是怎樣的設定,
不過應該是G70的標準規格:即600MHz 256bit GDDR3,
總記憶體頻寬是約38.4GB/s;
和實際的RSX使用800MHz 128bit GDDR3 + 可調用的XDR,
頻寬是約40.6GB/s比起來,規模是差不多的。
(相當於128bit FrameBuffer + Texture,以及額外的Texture頻寬;
但是還要把取用XDR必須通過EIB傳輸的延遲考慮進去)

在這個狀況下,CPU -> RSX剩下約5GB/s的單向頻寬,
以及主記憶體剩下約7GB/s的頻寬,
這只比目前的PCI-Express雙向各4.2GB/s中的單向稍大。
如果繼續用這個硬體開發下去,直到遊戲完稿才收到正式硬體的話,
可能會陷入CELL-RSX最主要的特色-CPU/GPU之間的動態合作分配,
亦即IBM提出的"雙向Graphic"這點暫時無法使用的狀況。

雙向Graphic指的是:
藉由CELL遠超過現有平台的浮點效能、以及可用的雙向I/O頻寬,
實現CPU緊密支援GPU動作的理想。
比方說,動態的Texture部份post-processing動作,
可以藉由CPU的高浮點效能來處理,來消除GPU在這方面的特定瓶頸;
而考慮現有的GPU結構,這是有相當機會產生的。

關於這部份可以參照GameWatch的訪談特輯:
http://www.watch.impress.co.jp/game/docs/20050519/ps3_r.htm

缺少這點特色的話,PS3只不過是個
有著較快的CPU(可以當成還有個很強大的PPU)、
普通高檔的主記憶體頻寬、
以及推出時半年前的最高檔GPU….
的平台而已,並不是很有特色。

不過我想要以前述的這種型態來使用PS3這個結構,
本來就需要對SPE的行為極為清楚的掌握。

考慮目前本田雅一提到的內容,
遊戲開發人員必須先自己人工來分割引擎內的動作,
然後再交給SPE的compiler來處理,
轉化為三種執行模式的其中一種,
從這點可以考慮較完整的量化分析目前應該都還沒有完成,
那麼的確是不必想一步登天。

關於CELL的量化分析,這邊有一點數據補充:
http://photos13.flickr.com/18542147_74d098e8b5_o.jpg

PS3有著極為強大的浮點運算性能,和同時期的硬體比起來,
它不僅浮點效能上的比重較大,
而且具有讓這個效能有辦法用來支援各種用途的巨大I/O頻寬,
GPU的資訊可以在短期內傳回CPU,處理過之後再送回GPU,
並在短時間內挪用部分的主記憶體頻寬,
並透過對記憶體及I/O延遲的管理,
來消除上述行為中可能造成的停頓。

封閉平台的特性是spec固定,所以反過來說,
軟體開發通常可以做到與硬體規格有著相當緊密的結合。

雖然目前的遊戲機硬體已經極為複雜,軟體不一定像過去,
可以如同embeded system的軟體開發一般,
做到視硬體特性來做出非常緻密的結合;
比方說過去的軟體可能相當地依存平台的於時脈動作,
所以模擬器必須要寫得非常低階,以做到時脈對時脈的模擬,
不然很可能軟體便無法正常執行….
這是以往的狀況,現在並不一定會有這麼深入的最佳化。

但是總之要能夠發揮出硬體的特色,應該是要盡量將硬體的全貌
給展現在開發人員面前,而現在的SDK在這方面是有缺乏的,
因為與實際上PS3的規格有相當大的落差。

以上個月EPIC才收到這份硬體來看,
我會懷疑多久之後才能拿到PS3的完整硬體,
以及拿到的時候對他們的開發有多少幫助。

由於debug需要相當長的時間(可以考慮接近半年),
假設軟體要隨PS3上市的話,實際的目標硬體太晚取得,
便對引擎的開發幫助不大,只有debug的作用而已。

所以應該會變成主記憶體頻寬任憑RSX挪用,
使得RSX變成"偽G70"(比實際的G70稍快),
進而造成PS3平台本身的特色無法發揮的狀況。

不過即使如此,仍然可以認定PS3初期的遊戲,
能夠有目前最好的PC平台,在最佳狀況下可以達到的水準,
只是不能發揮硬體特色會很可惜罷了;
當然,PS3的市場壽命期仍長,這點不見得需要擔心,
未來想必可以達到「雙向Graphic的理想」;
只是上市初期可能就不能期望太高。 [/quote]

[G70]G的真正涵義揭曉

所以G = Generation嗎…. XD
真的是純改編號?
那麼核心時程的delay要純粹歸給參入PS3的影響?

怪沒說服力的….
總之,G70 = optimized NV4x,結構上沒有太大的變化;
後藤大叔也附加了RSX與G70目前情報來看幾乎相同的資訊。
(source:http://pc.watch.impress.co.jp/docs/2005/0622/kaigai193.htm )

首先,G70的VS改進似乎不大。
除了數量之外,結構本身的最佳化並不明顯。
不過單一VS仍然可能提高,所以6 -> 8,數量的提升是35%,
但是可以注意到Triangle Setup Engine的效率卻增加了50%,
基本上應該就是為了因應到這部份。

G70的Pixel Shader結構雖說只做了一點改進,不過幫助不小。
兩個FMAD的話,代表前後兩個shader已經可說都是完整的了。
和R520可能會陷入32*1 vs 24×2的狀況,這點一如預期。
規模已經贏了,接著就是比效率了;
反之R520如果沒有1.5倍時脈的話,執行資源是會有劣勢的。

G70在面對大尺寸Texture、尤其是FP texture的時候,快了NV40約兩倍….
(考慮TMU數量是1.5倍,大尺寸Texture的時候快三倍,代表單一TMU本身就快了兩倍)
看來這是主要的改進,這個應該會大幅改善HDR的效率。
(TMU好像有重新設計,這點就是所謂超過原始NV50的地方?)

另外,針對Alpha Texture的Adaptive SSAA看起來相當不錯….XD

—-
以結果來看,G70的結構有相當不錯的表現,
光從部份benchmark上G70 SLI甚至打不贏6800SLI,就可以知道Driver還不夠成熟;
但是提高解析度之後,結構的優勢就開始體現出來了;
而CPU成為瓶頸的狀況可能比記憶體頻寬的瓶頸還嚴重,
尤其是Occlustion Quering由軟體引擎適當地得到發揮的話,不見得目前的表現已經是得到發揮的狀況。

話說很有趣的地方,
是從結論來看,GZ認為 G80 仍然是 NV4x / SM3 device ….
NV50還在"更後頭"….這邊就值得記一筆了。
G80應該會在G70的結構基礎上,補上類似C1的一些記憶體存取機能,
提高Shader的靈活性;但是可能還沒到達WGF2的程度。

WGF2的進度好像真的很慢….

中飯的時候無意看到的『戀愛巴士』

あいのり"ラブワゴン"に揺られるアフリカ~貧困を巡って
offical:
http://www.fujitv.co.jp/ainori/st/st247.html
commet:
http://ngo.ameblo.jp/entry-57da74cd4882427e779b13e28856457c.html

基本上是去年的進度….但是內容非常地有衝擊性。
因為它跨出了綜藝節目的範疇,
以更淺白的方式,傳達了我們所沒有留意到的真實。

世界到底有多小?我可能還不知道。

[quote]さて、「あいのり」。孤児院のゴベナさんは『飢餓を作った張本人は貴方達日本人を含めた先進国の人間なのだ」とメンバーに向かってはっきりと言いきりました。そして70年代の『緑の革命』へと話は続きます。番組の中ではイラストを用いながらこの状況を説明しています(見ていない方は、詳しい説明は「あいのり」HPのこちらの今回の回のストーリーを読んで下さいね)。
[quote]1960年代、アフリカでは今ほど飢えている人はいませんでした。
人々は、昔ながらの伝統的な農業のやり方でトウモロコシや豆など自分の村で食べるだけの食料を作り、自給自足の生活をしていました。
お金はなかったけれど、飢餓で死んでいく人は、今よりずっと少なかったのです。
ところが、1970年代、農業の仕組みが大きく変わってしまったのです。
(by offical)[/quote]
最後に日本が輸入している穀物について番組では取り上げます。世界の穀物の10%を輸入している日本では2/3が家畜用の資料になっている現状。そして、霜降り和牛1キロを作るために8キロの穀物を食べさせている現状。これは確かになかなか知られていない現実かもしれません。僕は水問題に関心があるのでその観点から付け加えれば、日本は穀物を輸入する形で、世界中の水を輸入していることにもなります(『仮想水』と言います)。つまり、穀物、ここでは小麦で計算することにしますが、小麦を1キロ作るのに2キロの水が必要になります。つまり、穀物8キロということは小麦で換算すると16キロの水を輸入していることにもなります。和牛1キロを作るために16キロの、水が貴重なアフリカから輸入しているようなモノです。(もちろん乱暴な議論ですが、分かりやすく言えば。)(by commet)[/quote]

以上雖說是生活富裕的日本,但台灣大概也差不到哪去吧。
雖說過去曾經有過看到台灣與非洲國家的農經合作,當時覺得是"拯救(給予)";但是現在才能體會到,這其實是還債。
而且說起來….這讓我想到『知識就是力量』的體現。
所以我們作為『勝利者』的後繼,除了享受過去的庇蔭之外,也在延續著那些業。

我們的安詳康樂,的確是建築在他人的痛苦上的。

延伸閱讀:
なぜ世界の半分が飢えるのか―食糧危機の構造
http://www.amazon.co.jp/exec/obidos/ASIN/4022593571/250-9135510-0569818

問題集中於Matrox 10bit Decode

DCT / iDCT公式
通常要用浮點作,不過為了效率,通常硬體都用fix point做。

所以現在問題集中在『10bit Decode』上。
怎樣能夠『不需要軟體支援』、但是卻能夠『直接改善輸出品質』呢?

其實一個簡單的問題:
軟體不支援的時候,硬體會怎樣?
直接能夠發揮作用?這似乎不太可能。
這邊另一個明顯的例子就是AMD K8 vs 64bit OS。

不然就是有『能讓硬體在與軟體沒有直接關聯的狀況下、直接發揮作用』,比方說硬體主動增加一些resampler之類的設計,來處理8bit資訊。

或許我直接和Matrox要SDK會比較快?

[EDIT]
嗯,Matrox的文件的確有講到,所以看來疑問解除了。

http://www.matrox.com/mga/products/parhelia512/technology/gigacolor.cfm

PDF的page8。

[quote]Parhelia-512 also offers additional flexibility.
When the computation of a particular pixel is completed by the GPU, the final result can be written to the frame buffer at 10-bit precision [b]or in the format required by the application. [/b]
When an application asks for the image to be drawn in a lesser pixel format (e.g. five or eight bits per component) [b]the GPU will apply a dithering algorithm to the resulting image prior to writing it to the frame buffer.[/b]
Dithering is a process that improves the perceived quality of an image when the color palette is reduced.
It does so through an error-diffusion pattern that simulates the missing colors.
Although there is a loss from the original image at the higher precision, dithering enables the output to benefit from the original precision output by the engine when displayed at a lower bit-depth.[/quote]

軟體不支援10bit 的時候,會要求8bit Frame Buffer,
所以能不能有改善,端看GPU會不會把10bit的內容作Dithering到8bit,
所以看來Parhelia的DVD playback的確會比本來多些資訊;
但是這時候是8bit Frame Buffer….

剩下的就很明顯了。

[G70]準備迎接512bit GPU?

B3D這幾天一直有人說R520的記憶體介面有驚喜….
但是GDDR4還沒下文,所以只能想到512bit了。

XGI的192bit應該是很折衷的東西,我是覺得ATI大概不會弄個半調子的384bit….
而且前幾天看到C1用FP10,這個大概就代表R520有很大的機會可以開FP FSAA…..

所以,NVIDIA要怎麼上呢?

FP10的部份,Hotball兄有一些評論:
source:https://www.kimicat.com/phpBB2/viewtopic.php?t=660

[quote]這個 FP10 是針對 HDR 的需求設計的。

理論上,如果是 7 bits mantissa 和 3 bits exponent,應該就沒有剩下的空間可以放正負號了。當然,frame buffer 裡面通常也不太需要存放正負號(雖然如果有的話,有時候也蠻方便)。但是,另一方面,文章裡面也提到這個 FP10 的範圍是 -32 ~ +32,因此它應該還是有正負號。最可能的解釋是,它的 mantissa 只有 6 bits,exponent 還是 3 bits,而 bias 是 3。不過,這樣一來,它的精確度就只有 7 bits,似乎反而是一種損失。但是,另一方面,由於浮點數的特性,它在暗色部份(就是數字較小的一邊),它還是可以有等同 8 bits 的精確度。

如果放棄正負號的話,就可以有 8 btis 的精確度,至少和原來的 8 bits 定點數有相同(或稍高)的精確度。[/quote]

總之,從這點來看,R520要是開FP FSAA,性能上大概絕對會領先吧。
FP10看起來就是個性能掛帥效果折衷的格式….
不過,OpenEXR是ILM/LucasArt拿去做電影成品的格式,拿來RT3D也的確太暴力了些。

這讓人想到David Kirk當初說的"第一次做就做對的事做到好",NV30拼死命支援OpenEXR,結果搞到效能亂七八糟,到NV40才比較像話些….
David Kirk用的是那種效果必需要先到理想,效能可以靠製程慢慢改善這樣的態度,這種作法到NV30第一次才死得非常慘。
只能說久多良木健或許真的說得對,NVIDIA和SONY都是只顧美學成本放旁邊的浪漫派….
所以他們一見如故、相談甚歡,苦的就是底下的小職員了,要跟著上面的老大硬上這樣。

最後,hotball大對"512bit R520"補了個評語。
「Beyond3D是開放性討論區,所以不是什麼消息都可以相信。」XD

[G70]所謂G的真正涵義?

稍早Waterball兄丟訊息過來,他說他快被操掛了,有意改跳外商公司….
不過外商不是比較操嗎?(汗)

總之,各大媒體都開始測試G70了,認識的人裡面就至少有兩組人拿到了sample。
單卡分數幾乎剛好是7800這個產品代號…..XD

由於SLI本身沒有修改的關係,所以大概就是現在的可達效率乘上去吧?
測到的分數是11000~13000左右,還能提升多少不太清楚,不過反正就算效率達到兩倍也頂多是一萬五….

看起來一點都不顯眼。(汗)

記得當初cho提過,NVIDIA的人私下對他說『G70太強了,NV50都不見得比得上』,而且後面又有補充『NV50 = 4x NV40』….G70聽起來真的是非常可怕。
這個NV50顯然是還沒取消之前的spec,現在NV50已經整個取消了,不知道那個核心本身變成了什麼。
可是現在G70的表現根本看不出來有NVIDIA的人說的那種實力….到底怎麼回事呢?
G的真正涵義到底是?
讓NVIDIA寧可取消掉NV47/48/50三個核心,轉移到這個新架構的核心價值,到底是什麼呢?

結果,在開到1600*1200 4xAA+8xAF的時候,G70的底力開始出現了:
3DMark05得分4657。

它,它沒增加記憶體頻寬耶…..O_O
看起來G指的真的是某種可以對記憶體頻寬最佳化的新結構,
這樣RSX大膽地使用128bit GDDR3,也似乎是可以理解的了?

而且,現在G7x系列的dual-core謠傳開始甚囂塵上了,還有所謂的G70 ultra;不過dual-core G7x的這個謠傳因為內容和先前的G80是重疊的(IBM 90nm、16pipe x2),所以似乎造成了一些混淆。

在下週G70正式公開之前,大概還會有一段時間兵荒馬亂。
補充:Inquirer當時的"G80 is dual-core"報導

[EDIT]
剛剛聽到一個有趣的部份,G70在"特殊情況"下,效能可以成長80%。
這樣就讓我浮現一個想法….

也許,NVIDIA找到一種新的結構,可以有效加速;
所以他們評估之後,把NV47/48/50等現有晶片重新加上G的技術,
於是變成核心重新設計….

本來NV47同時增加了Shader數量與Shader的本身結構改善,
同時脈的效能大約是NV40的1.5倍。
如果G70化的NV47時脈可以再達到NV40的1.5倍,
再加上特殊情況下80%的成長,整體效率就是最高4.05倍,
這的確是有辦法超過四倍的NV40,也就是比本來的NV50還強….

現在的問題就是,這個特殊情況是什麼?

[EDIT2]
測了一下Overdraw,好像沒有相當顯著的增長….
看來上面的推測可以準備推翻了。

現在G70可能可以更直接地想成"NV47+XDR"?
這好像更有說服力些,比起上面提的怪design,改記憶體控制器在時間上更有說服力。
補充:Rambus的XDR+DDR兩用記憶體控制器

XDR up to 4Gtps、GDDR3 up to 1.6Gtps的話,XDR方面可以用256bit 3.2Gtps,最大是204.8GB/s;128bit XDR則是102.4GB/s。
G70應該與NV40/41/42一樣是4×4 64bit Crossbar,所以每個64bit DDR-MC可以更換成64bit XDR+DDR-MC,同樣是連結2顆32bit GDDR3 or 4顆 16bit XDR。
腳位是確定會增加,但是並不會增加到512bit GDDR3的程度、卻能提供超過512bit GDDR3的頻寬。

好厲害的XDR….