欲想正人,必先正己。
靜坐當思己過,閒談莫論人非。
垂直同步的作用:
爲避免畫面撕裂,許多渲染引擎會在交換緩衝區之前,等待顯示器的垂直區間消隱,即電子槍重歸屏幕上角的時間。
高分辨率計時器的時間漂移
多核處理器。
時間同步
使用cpu的時間週期數進行度量
若使用存儲絕對值的手動時鐘,需要定期將其清0,避免累加至很大的值。可以將時鐘按照週期手動循環,time = (time +△t)%period。
爲了應付斷點,可以鎖定增量時間,當增加時間超過預設的上限,將其鎖定至目標幀率
If(dt > 1/30.0f) dt = 1/30.0f
人體接口學設備(HID)
弦(chord)一組按鍵組合,當同事按下的時候,會在遊戲中產生一組獨特的行爲。
手勢檢測的方法,歷史輸入緩衝記錄。
Debug技巧
遊戲內置菜單:切換全局bool設定,調教全局整數及浮點值,調用一些引擎提供的函數,執行任何任務;開啓副菜單,使菜單系統按層階式管理,方便瀏覽。
AutoProfile實現技巧 page354
Tessellation 鑲嵌
把表面分割爲一組離散的多邊形。
紋素密度及多級漸進紋理
Mipmap,對於每張紋理,建立低分辨率的紋理序列,當中每張圖的寬度和高度都是前一張圖的一半,圖形硬件會按照三角形與攝像機的距離,選擇合適的漸進紋理級數,以嘗試維持紋素密度接近於1.
Ansi和Unicode
Ansi爲使計算機支持更多語言,通常使用 0x80~0xFF 範圍的 2 個字節來表示 1 個字符。
函數希望我們傳入花出去的字符數,即應該傳入_countof 而不是sizeof。
程序字符串的比較採用CompareStringOrdinal,不考慮用戶的區域設置,速度快,而用戶字符串一般顯示在界面上,要考慮用戶的區域設置,採用CompareString(Ex)來處理。
導出ansi和unicode dll函數的轉換技巧,windows核心 page 29。IsTextUnicode