“渲染管線,消耗對比減少了10%。”
“磁碟空間佔用和執行時記憶體/視訊記憶體佔用,也有所減少,載入速度,平均快了15%!”
“記憶體分配/釋放(尤其是執行時)帶來的效能開銷和碎片,也得到最佳化。”
G胖一陣分析後,對於採用自家研製的盤古引擎,重構了遊戲之後的效果,大為震撼。
“哈哈,胖子。我們將資料以更符合CPU快取友好的方式組織,提高資料區域性性,便於大規模並行處理。”李長歌大笑著解釋說道,“多虧了星雲哥的技術!”
“原本這一項上,UNITY才是集大成者。”
“但是星雲哥幫我們優化了底層!”
李長歌拍著星雲哥的肩膀,眼裡滿是敬佩。
星雲哥微微笑著點頭,聽到誇讚,趕忙解釋說道,“啊,李總。雖然在底層架構設計上,是有一點最佳化作用。”
“但是效果能到到這麼好,還是應該感謝總部數學組的演算法大佬們的支援!”
“這個的底層演算法最佳化,是總部數學組的大佬們幫忙解決的。尤其是景庚大佬和歐宇……”
星雲哥也不邀功,遊戲引擎的架構和核心技術,他自認是學的還算不錯的。
遊戲引擎,簡單而言,就是將一系列極其複雜、需要深厚圖形學知識的最佳化技術,封裝成易用的工具、預設開啟的功能和智慧的系統。
讓遊戲開發者能夠更專注於內容創作,而不是從零開始解決這些底層效能難題。
其中要想提高遊戲引擎的效能,或者說讓遊戲引擎提高遊戲的效能,那就免不了要涉及一下幾個方面:
1.演算法與架構,這是減少根本的工作量,典型的技術例如使用ECS,空間劃分演算法,高效的資源管理策略。
2.渲染管線,目標就是減少GPU負載和DC剔除,使用合批,LOD,現代光照/陰影技術等技術,是傳統的減少GPU負載的技術。
3.CPU並行,目標就是充分利用多核,別讓本地CPU空閒著,使用多執行緒,作業系統,分擔遊戲主執行緒的壓力。
4.記憶體與資料,目標是提高CPU快取命中率,所利用的技術可以是資料區域性性最佳化, 物件池, 記憶體對齊等等。
5.資源內容,使用紋理壓縮,模型簡化,流式載入等技術,減小IO和記憶體壓力。從而提高效能。
引擎的進步,本質上就是將這些“效能提升的部分”做得越來越自動化和高效。
但是要提高效能,越是底層,就越困難!
各種演算法的最佳化,才是真正的一勞永逸解決問題的辦法!
一開始的時候,星雲哥自己還帶著引擎組的演算法工程師在哼哧哼哧的自己研製。
但是一個小的演算法最佳化,一個團隊十多個人琢磨了小半個月,都沒有任何的進展。
一首到後面,陳夢晗過來的時候,看到他們在這裡閉門造車,趕緊給總部數學組的人和他們搭橋聯絡。
而有了數學組歐宇他們的加入,這個小問題,很快就得到了解決。
這讓星雲哥和李長歌都是沒想到。
。的著圍包福幸被是,人兩的候時這”!援外請以可還……來原“








