玩網路遊戲時都會有加速器
請問:
1) 加速器是什麼原理, 會讓動作變快
2) 另外是哪部分硬體例如CPU, 記憶體, 還是硬碟負責這種機制呢
3) 網路的連線品質是影響加速器最主要的因素嗎
(以世紀帝國為例, 因為採用 WM_TIMER , 而 WM_TIMER 本身的 priority 比較低, 所以造成只要有滑鼠一直在那邊移動, 遊戲就會跑得比較快的怪現象, 所以現在很少遊戲會採用 WM_TIMER 作 timing)
2. 遊戲本身有 timer thread, 透過修改系統的時間「可能」可以造成遊戲誤判時間經過多久
2.5 有些 工具可以把 GetTickCount 函式替換成自己的函式, 用來騙大部分的程式, 達到加減速的效果
3. 遊戲透過封包與伺服器 sync 動作, 譬如說 玩家移動一步 就送一個封包給伺服器, 如果封包沒編碼、沒有檢查序號、查核等,只要有程式側錄 反覆播放 就可能造成加速
4. 類似 3, 但是用戶端送出的封包是座標, 而不是動作, 所以只要送出想要去的座標, 就變成瞬移
5. 遊戲透過 QueryHighPerformanceCounter 但是玩家在中途改變 CPU 頻率, 造成加速的效果
6. 其他更笨而且沒作保護的 protocol ...
內文搜尋

X