• 這是一篇加密文章,請輸入密碼
  • 密碼提示:0800
  • 請輸入密碼:

簡介

x86的開機流程為BIOS->POST->MBR->Boot sector->OS,先介紹MBR。MBR是硬碟的第一個sector,每個sctor是512 bytes。這 512 bytes由3個部分組成:

1. Boot Partition Loader (Pre-loader or Pre-boot): 共446 bytes,其功能就是將可啟動的作業系統分割區 (boot sector)載入,並將控制權交給其boot sector,多重開機選單就是在這邊做的。

2. partition table: 共64 bytes,4個partition,每個16 bytes,這也限制了一顆硬碟只能有4個partition。每個byte代表的意義見最註1。

3. 結束符號: 共2 bytes,其值為55AA,用來讓BPL驗證是否為MBR。

kezeodsnx 發表在 痞客邦 留言(1) 人氣()

來源: http://www.tomshardware.tw/436,review-436-24.html

去年,當3dfx全力推廣這個在Voodoo5上面唯一有用的抗鋸齒功能時,抗鋸齒功能在3D影像界裡是一個很大的議題。 NVIDIA為了不輸場面,也加入了這種功能,但是提供的方法,卻大大的犧牲了3D表現的性能。 雖然3dfx的犧牲T-buffer緩衝記憶體方式的確是要比NVIDIA的超取樣方式要聰明的多,但一個是阿呆,一個是阿瓜,兩者的抗鋸齒功能實在是華而不實。 想要有高畫面更新率的電腦玩家根本不會去開啟抗鋸齒功能,因為隨之而來的3D效能真是慘不忍睹。

如果你不知道什麼是抗鋸齒功能,請回頭看看這篇文章link,在2000年四月份的GeForce2文章裡我有詳細的解說全螢幕抗鋸齒的功能。

Anti-Aliasing

上圖你所看到那些礙眼的小階梯狀,其實是因為兩兩不同角度的三角形交接而成的。 現在的紋理材質圖片及性質相近的圖像表面上,你已經很難看到這種礙眼的小階梯狀,因為都已經有先二次或是三次線性過濾過了。

kezeodsnx 發表在 痞客邦 留言(0) 人氣()

引言

2D/3D加速一直是一個很大的topic,看了好幾次,也抄了很多筆記,還是很難有一條清楚的路。但即使如此,還是要寫點東西,個人理解難免過時或是有錯,儘供參考,歡迎指正。

 

開頭

要從哪開始記錄著實讓我困擾了一點時間,就先從OpenGL開始好了,以後有機會再來refine。

kezeodsnx 發表在 痞客邦 留言(2) 人氣()

我的兄弟部落格經過一翻幹譙之後,總算有點東西產出了,follow ramdisk大師/eee share 達人/parent control始祖的腳步後,留下一點足跡。

 

問題是這樣,有了base system之後,是可以chroot進去,但要執行ap時(例如xeyes),就會得到這樣的錯誤訊息:

root@latrell-ubuntu:/# xeyes
No protocol specified

kezeodsnx 發表在 痞客邦 留言(0) 人氣()

來源:http://www.myav.com.tw/bbs/showthread.php?threadid=2389&pagenumber=0

新手寶典

  在DVD的領域中,不難發現有些新出現的詞彙,有些或許已經知道這是什麼意思了,但由於技術成熟的發展,相對的會出現新的名詞,所以站長特別挑選了近七十個專有名詞以簡單的話來解釋 ,往後如有更新的字彙,本網將隨時更新


kezeodsnx 發表在 痞客邦 留言(0) 人氣()

Wiki上的解說,bios的功能是提供一些function,讓軟體來控制硬體。而video bios (vbios)也是一樣,提供一些控制顯示卡的function。然而,存取bios是很慢的,相對於ram/cache,所以才有所謂的bios shadow/cacheable,來將bios load到memory或是cache,以提升存取的速度。系統bios較少存取,而vbios較常存取,所以將vbios load到cache理論上效能會有一定的提升(bios shadow通常只對老舊的Dos電腦比較有幫助)。

現在的cpu的L2 cache多半蠻大(超過1M),對於只有幾k的vbios不會有問題。


kezeodsnx 發表在 痞客邦 留言(0) 人氣()

玩linux多多少少會看到一個用法 do xxx while(0)。從邏輯上來看,似乎沒什麼特別的,甚至會懷疑是否多此一舉 (while 0不就是直接跳出嗎?)。事實上,這是有一定用途的,主要是避免文法錯誤。在define macro時,只有一個語句,如#define foo(x) bar(x); 這樣多半不會有問題。但較複雜的macro搭配if else等flow control時,就會產生文法上的問題,看下例:

#define foo(x) bar(x); qoo(x);
int main(int argc, char* argv[])
{
        if(1)

kezeodsnx 發表在 痞客邦 留言(2) 人氣()