我在Mac上製作使用Unity3D版本3.x的聯網電腦遊戲。我有一個遊戲客戶端和一個遊戲服務器。無論何時數據從服務器到達客戶端,客戶端都會凍結一點點(〜0.5秒),呈現新數據,然後繼續。有什麼方法可以優化我的遊戲,以便傳入的數據不會影響用戶與遊戲客戶端的交互?Unity3D:通過網絡加載資產時的平滑交互?
這裏是我現在在做什麼:
- 我創建了一個新的線程來從服務器獲取數據。
- 當數據到達時,我把它放在一個受互斥鎖保護的緩衝區中。
- 在Unity線程中,在每一幀上,我檢查緩衝區是否爲空。如果它不是空的,我會等待互斥鎖以獲得處理數據的權限。一旦獲得許可,我就解析數據並進行渲染。
我這樣做是因爲Unity不允許我在創建的網絡線程中創建新的GameObject
。但我想知道是否有什麼我可以做的,以優化用戶體驗。
您應該使用WWW類檢索的事情了統一的範圍內的網絡,它會幫助你優化然後。 – AlexanderBrevig
嗨@AlexanderBrevig,不幸的是'WWW'類不適合我。對於這個項目的研究目的,我必須自己完成網絡部分,而不是依賴Unity提供的內容。 – CherryQu