天天看點

Windows遊戲程式設計大師技巧(第二版)筆記-第一章

士不可以不弘毅,任重而道遠。雖然我的程式設計水準不高,但是,完全可以通過學習積累得到提高。

 仁以為己任,不亦重乎? 今天得下定決心學習了。

筆記開始:

1. 視訊遊戲,應當避免頻繁調用高層的函數。

2. 使用全局變量以減少參數入棧出棧。

技巧二:使用内聯函數, 缺點:編譯後生成的程式更大(我還不是很了解)

3. 定義結構體,注意位元組對齊。不如記憶體尋址會麻煩。Pentium CPU喜歡32位變量聖域16位。

4. Pentium CPU喜歡精簡指令,而非複雜指令。例如:

if ((x+=(2*buffer[index++]))>10)

{

// do work

} // end if

更好的做法:

x+=(2*buffer[index]);

index++;

if (x > 10)

{

// do work

} // end if

5. 使用二進制以為運算進行乘數是2的幂的簡單證書乘法。因為所有的資料在計算機中都以二進制存儲,把一組位元向左或向右移動就分别等價于乘法和除法運算.(?????)

int y_pos = 10;

// multiply y_pos by 64

y_pos = (y_pos <> 3); // 1/2^3 = 1/8

c++ c