如果回到20年前,我們很難想象,內(nèi)存容量可能會(huì)以G為單位,存儲(chǔ)容量會(huì)以T為單位。即使是現(xiàn)在,我們也無法斷定,計(jì)算機(jī)不會(huì)用到以P為單位的內(nèi)存容量。
依稀能夠記得,在DOS下編輯系統(tǒng)配置文件時(shí),常常為內(nèi)存的加載和分配頭疼;進(jìn)行程序設(shè)計(jì)時(shí),同樣會(huì)為幾K的內(nèi)存占用而絞盡腦汁。從DOS時(shí)代走過來的人,才會(huì)理解內(nèi)存何以如此珍貴。
640K,曾經(jīng)是基本內(nèi)存不可逾越的鴻溝。當(dāng)內(nèi)存的成本逐漸降低到我們在使用和設(shè)計(jì)時(shí)可以忽略它時(shí),內(nèi)存的使用機(jī)制已經(jīng)不再受限。然而,曾經(jīng)的珍貴卻讓眾多程序員形成了節(jié)約內(nèi)存的習(xí)慣,在算法上精益求精,以期用最低的內(nèi)存占用、最小的文件實(shí)現(xiàn)最優(yōu)的效果。3D64K程序就是他們展現(xiàn)給我們的智慧結(jié)晶。
時(shí)至今日,對于用戶而言,已經(jīng)無需考慮內(nèi)存分配,而程序員們卻為此多出了一項(xiàng)智力和才華競爭的內(nèi)容。將華麗得不可思議的程序,做得極其微小而簡潔,用體積非常小的程序來實(shí)現(xiàn)大型程序才有的視覺效果,成為很多程序員的夢想。
比如,64K的3D程序,就是這些夢想的完美展示。
相信很多人都熟悉那個(gè)不可思議的3D大片《彗星撞地球》,出色的音效、細(xì)膩的3D建筑、炫目的光影效果,讓人很難相信它其實(shí)只有64K,但卻包含了1.6G之多的數(shù)據(jù)量。
需要說明的是,3D64K動(dòng)畫雖然文件非常小,并不表明它們對內(nèi)存的占用也是這么小,相反,因?yàn)槌绦蛩惴ǖ木?,很少的指令要完成?fù)雜的工作,就要依賴于CPU的運(yùn)算能力以及內(nèi)存容量的支持。
另外,一些3D64K程序采用了壓縮率極高的算法,將十幾G的動(dòng)畫容量壓縮到了64K。借助DirectX或OpenGL技術(shù),在幾分鐘甚至幾十分鐘內(nèi)不重復(fù)地演示3D效果和音效。
每年世界各地著名的Warez組織都會(huì)推出一個(gè)64K的小動(dòng)畫片來比較和炫耀其編程實(shí)力。例如,德國的farbrausch組織,先后推出了fr-01至fr-045等幾十部3D演示作品(Demo Scene)。
Demo Scene通過匯編語言調(diào)用DirectX引擎的核心代碼庫來建立對象架構(gòu)、三維空間位置、運(yùn)動(dòng)軌跡及材質(zhì)信息。程序在運(yùn)行時(shí)由CPU讀出這些信息給DirectX渲染引擎生成三維立體的對象及動(dòng)畫,同時(shí)運(yùn)用程序紋理技術(shù)即時(shí)貼圖。這些技術(shù)現(xiàn)在也被運(yùn)用在3D游戲開發(fā)中。
fr-08:the product是2000年的經(jīng)典力作,屢獲殊榮。這個(gè)濃縮了11分鐘3D動(dòng)畫的程序只有64K,并開創(chuàng)了Demo制作的新紀(jì)元,打破了以往Demo只注重美學(xué)不注重?cái)?shù)據(jù)優(yōu)化的格局,向人們展示了挖掘CPU潛能和大規(guī)模數(shù)據(jù)轉(zhuǎn)存的可能性。
Demo往往要進(jìn)入一個(gè)特殊的X繪圖模式,針對顯卡進(jìn)行實(shí)時(shí)編程,這樣才能極大地節(jié)省代碼體積。國外作者的一個(gè)3D64K美女演示動(dòng)畫,在結(jié)尾字幕中說明了動(dòng)畫所包含的內(nèi)容,包括178M多媒體紋理、159M的Wave文件、12條音軌、8.5億波樣等。
theprodukkt小組還發(fā)布過一個(gè)96K的第一人稱3D射擊游戲kkrieger,更是讓人瞠目結(jié)舌。
3D64K程序的實(shí)現(xiàn),不僅是一項(xiàng)技術(shù)工作,也是一項(xiàng)藝術(shù)創(chuàng)作。算法架構(gòu)、代碼優(yōu)化、數(shù)據(jù)壓縮、3D建模、貼圖描繪、音樂創(chuàng)作……這其中的每一項(xiàng),都需要高水平的人來完成,不僅需要程序員,還需要藝術(shù)家,不僅追求技術(shù)的精湛,也追求藝術(shù)的完美。而最終作品,用極小的文件體積,展示了長時(shí)間夢幻般的聲光影效果,華麗的3D動(dòng)畫,身臨其境的運(yùn)動(dòng),聲色俱佳,效果震撼。
藝術(shù)無止境,技術(shù)亦無止境。3D64K,讓我們向這些程序員智慧的奇跡致敬吧!