遊戲裡的萬人同屏是如何優化?

時間 2021-05-29 22:18:59

1樓:桂鑫平

今年剛好實現了千人同屏,支援動畫融合以及AI,1000人40FPS。我主要負責客戶端的,主要使用例項化渲染。伺服器採用幀同步,由公司伺服器端的同事負責研發。

主要的效能瓶頸不在GPU,而在CPU。

2樓:

伺服器目前mmorpg 單程序至少要跑到800-2000吧...那麼改成多程序的有可能能達到萬人?16核cpu 編譯成64位程式然後把邏輯搞成多執行緒...

理論上是可行的...那麼問題來了誰弄過多執行緒的邏輯服...要是單執行緒多程序的話那麼得考慮萬人如何分程序的問題重疊區域和邊緣如何處理...

3樓:Lily醬

某冷門星戰網遊,百人以上會戰開始以時間膨脹來緩解伺服器的壓力。大型會戰提前申請。。。客戶端拉最遠距離全是小方塊幾乎不用載入模型。

4樓:

記得以前玩魔獸世界屠城的時候幾個團的人大混戰,都是只敢邊緣ob,混戰中心是不進去的,不是因為不敢打,只是進去了之後ppt都是一種奢求,直接卡成定格動畫……

5樓:

進入伺服器,客戶端獲取在螢幕裡的玩家id和位置,然後每秒獲取多少個玩家的其他資訊, 顯示在介面上,如果過多,則把過遠的資料給扔了,不渲染。

6樓:Jugum Chen

骨骼動畫是可以顯示卡加速的,如果繪製頻率很高,甚至可以常駐視訊記憶體,避免對頻寬造成壓力。

骨骼、網格、貼圖之間可以自由組合,同乙個網格換一張貼圖就可以是男女老少,換個骨骼就可以做出各種動作。網格可以粗糙點,一般不會太注意,紋理的取樣是個瓶頸,畫素深度可以看情況壓縮壓縮,或者弄成顏色索引。

遠景的優化是關鍵,既要做到速度最大化,又要讓玩家看不出來。比較常規的方法有 LOD,紙片人,紙片人組什麼的。

光照陰影整成後處理,再加上遮擋剔除和前置深度判斷,渲染壓力其實沒有想象中那麼大。

7樓:pancystar

gpu方面,如果頂點資料只有那幾十種模型的,渲染的時候使用gpu instancing就可以渲染出大量的重複模型,而每個複製品會有乙個instanceid來區別。所以並不需要傳這麼多點進來。同樣的,陰影對應的shadowmap也可以使用gpuinstancing,只需要幾十個drawcall就可以處理gpu上的東西。

骨骼資料其實也就是那幾十個矩陣樹,不過麻煩的是插值運算完畢後的矩陣資料都不一樣。因此骨骼盡量越少越好。把所有資料塞到乙個buffer裡面上傳到gpu是最通用的解法。

當然你也可以做一些簡單的優化,例如把動畫間斷化提前算好塞到buffer裡面或者乾脆讓一小票人共享乙個動畫。

所以其實有了gpuinstancing理論上你真想實現也不是太難。

三十多萬人的冰島是怎麼運作的?

趣北歐GoNordic 很有系統性的運作,人口少所以每個人會的技能太多,冰島連首相和部長們都是兼職。而且全民素質高,很自律,很愛國,很有民族榮譽感。因該說小而精吧。 大園子呀 瀉藥 雖然不是足球迷但是蜜汁自信的覺得有帶世界盃成績體質蜜月去的冰島,第二年去的瑞士 2018的世界盃前幾個比賽日冰島平阿根...

關羽張飛的「萬人敵」稱號是怎麼打出來的?

懷劍聽雨 小時候看三國覺得劉備是仁君,長大後再看三國為何又覺得劉備更像是乙個偽君子?劉備當初帶著2萬烏桓騎兵擊敗了幾十萬黃巾,關張每次都帶頭衝鋒萬人以上的黃巾,所以得到萬人敵的稱號 小蝦漢斯 關羽萬軍之中刺顏良於馬下,張飛長阪橋前喝退曹操大軍。我個人傾向於認為,這個 萬人敵 有 出現在戰場上作用相當...

為啥我好討厭《穿進萬人迷文的我人設崩了》裡的師祖

姐妹,討厭師祖的你不是乙個人 我覺得粥粥和師祖的性格搭不上,相比之下小師弟和宋連衣更甜我超可小師弟的,當時師祖強行拆的時候給我氣的最重要的一點大概是,我喜歡年下,年上則無感。 小心黑夜 嘿嘿嘿嘿其實我也覺得師祖前面對方鹹魚有點苛刻了但是現在一看的話,真的好寵啊嘿嘿嘿嘿,打完手板還偷偷給鹹魚抹藥,鹹魚...