2012年3月14日 星期三

200人的壓力測試


因為地圖體積過大,遊戲下載體積接近1G,提供下載耗時,
遊戲本身豐富度還不夠,誘因不足,加上想向上發展成樓層模式,
會造成爆量的體積,

個人資源不足管理製作,忍痛割了去年耗半年搞的地圖,把9方格地圖變成4方格地圖.

過程中 發現自己把以前地圖編輯器的頂點存檔結構設錯 雖不導致資料儲存出現問題
但是體積會爆兩倍,心中大喜,立刻最佳化地圖頂點存檔結構,把結構體積縮為4分之一
FLOAT全轉為WORD儲存,顏色改為16BIT.

心想體積問題解決,不用割地圖了,順便修正一些垂直斜面破面問題,
但是轉檔後發現體積變小不大.WHY?

分析資料後,結論是頂點資料佔地圖總資料約2/3,
但是因為資料有壓縮,之前多餘的資料都壓掉了,所以新資料壓縮後變化不大,

巨大失望中,只好割地圖,但是中間有個獨眼方舟城堡,下方有個小城堡,前者花一周,
後者花一天,衡量後只好先犧牲小城堡,日後用程式轉回就是.

割掉5塊地圖後 大約剩500M左右,把過度崎嶇的地圖整一整應該可以更小吧,去年如果開這種規格,
大概省掉好幾個月製作時間,只能哭哭了,當時就想到了,只是野心太大..

算了,有捨才有得,付出代價,想追求的不外就是正確的答案.

最近由於遊戲不太穩定 決心徹底解決問題
寫了壓力測試器 先從200人開始測試,處理掉登錄和資料庫問題後(大多是打錯字造成),
進入了地圖,沒多久GATWAY開始哭哭,傳送用封包的記憶體位置掛了,這明顯是堆疊問題,
,為了節省記憶體我把堆疊設的太小,或者說LINUX需求不同,於是把堆疊改大,
一些巨大內在參數陣列改成外在參數.繼續測,過程出現封包接收錯誤等問題解決,
終於穩定化,不過也帶出許多問題,即時傳送資料大小限制問題,導致玩家一些資料沒有傳送,
如掉落後落地並沒有還原落地 導致行動卡住..坐下回血也沒傳送HP MP導致無法使用計能問題

200個人在地圖上看起來不多,這時有點後悔AVATA沒順便作LOD模型,不然可以搞個千人廣場來測試,
這大概得花兩周左右,也罷,日後有空請人搞或自己搞

也罷,至少伺服器變得很鐵了,慢慢改吧,預定這個月搞定,下個月要為暑假檔製作內容了,

說起來我老婆下個月要生孩子了,最近送小孩上學後,坐椅子狂測狂改到晚上,都沒時間陪女兒玩,
我晚睡她也跟著晚睡,黑眼窩都出來了...瞎忙也算了,實在不該把這些家人相處時間也賠上.

先求有再求好
先求穩再求快