他的手從鍵盤上抬起來,搭在椅子扶手上。
“上限不是我們設的限制,是引擎的渲染管線本身扛不住。
每一幀要計算所有角色的模型變換、光照、陰影、動畫骨骼,八百個角色同時渲染的時候引擎的幀預算已經用掉了七成,再往上加它會直接崩掉。”他停了一下,手指在扶手上收緊又松開,“幀預算這個東西是固定的,一幀十六毫秒,超了就是超了,沒有商量的余地。
我如果把上限調到一千二,引擎會在第一幀就爆掉,不是卡頓的問題,是直接閃退。”
“但如果我把上限往下壓,壓到五百,長安城里就只能看到五百個人。
剩下的七百個人全部被引擎丟掉,玩家看到的是一座空了一半的長安城。
《夢幻》強調的就是熱鬧,長安大街上人擠人的那種感覺,如果砍掉一半的人數,那個熱鬧就沒了。”他的聲音低下去,像是在跟自己說話,“而且玩家不傻,他們會發現有些人明明在隊伍列表里,在地圖上就是看不到。
到時候論壇上全是帖子問為什么我隊友站在我面前我看不見他。”
梁永琪靠在機房的門框上,兩只手環在胸前。
她看著屏幕上那個八百的數字,沒有立刻說話。
這個數字的上下兩端各有一條路,往上走是技術崩盤,往下走是體驗崩盤。
兩條路都走不通。
她腦子里轉了幾個方案,每一個都在某個環節上被卡住——要么是客戶端算不過來,要么是服務器廣播量太大,要么是玩家體驗打折打到沒法接受。
她咬了咬下嘴唇,手指在手臂上輕輕敲了幾下。
她拿出手機走出機房,在走廊里撥了陳浩的號碼。
電話接通之后她把情況完整地說了一遍——同屏渲染上限、瞬移的成因、削減人數帶來的體驗損失。
她說的時候語速比平時快一些,像在把一堆積木一塊一塊地壘起來,壘完了等著對方推倒或者加固。
說到最后她停了一下,加了一句:“我這邊暫時想不到兩全的辦法,李軒那邊也卡住了。”
電話那頭沉默了片刻。
梁永琪聽到陳浩的呼吸聲在話筒里均勻地傳過來,中間夾著一聲極輕的、像用手指敲了一下桌面邊緣的聲音。
那一聲響之后又是幾秒的安靜,她能想象陳浩坐在辦公桌后面,手指搭在桌面上,眼睛看著某個固定的點,腦子里在翻各種可能性。
“讓玩家可以選擇屏蔽其他人的特效。”陳浩說,“只保留自己和隊友的技能特效,其他所有人的特效全部不渲染。
但是人物模型必須全部顯示。
每一個角色都要看得見,只不過他身上那些花里胡哨的光影不用畫出來。”
梁永琪把手機換了一邊耳朵。
“特效的計算量比模型大?”她問了一句,手指無意識地在走廊的墻壁上劃了一下。
“特效是疊加渲染,一層火墻上面再疊一層雷電再疊一層毒霧,每一層都要單獨計算光線和透明度。
模型是靜態渲染,一個人站在那里不動的話,他的模型每幀的變換量很小。
把特效砍掉之后引擎的幀預算能騰出很大一塊,用來撐住全部的人物模型。”陳浩的聲音從話筒里傳過來,不急不緩,“你讓李軒去翻一下渲染管線的代碼,特效和模型是不是走同一個隊列。