專訪侑虎科技創始人張鑫:遊戲、VR應用性能診斷與優化

摘要: 性能優化其實對於開發者而言是永恆的痛點,而在遊戲、引擎等的研發與支持、培訓等工作過程中,張鑫與其團隊也飽受其困擾,由此創立了侑虎科技,專注於爲遊戲及虛擬現實開發者提供性能診斷與優化平臺,以及技術諮詢服務。

初次聽說張鑫時,他還是Unity大中華區技術支持經理,從事與Unity引擎相關的技術研發、培訓以及支持等工作,有着非常豐富全面的引擎使用經驗。在浙江大學CAD&CG國家重點實驗室的幾年裏,他深耕於計算機圖形學、數字幾何處理等相關學術知識,曾發表多篇論文。後進入盛大任遊戲開發工程師,參與了其3D MMO遊戲引擎以及多款基於Unity的移動/網頁遊戲的研發工作。2015年開始了創業之旅,在上海創辦了侑虎科技,着力於爲遊戲及虛擬現實(VR)開發者提供性能優化及其相關的諮詢服務。從其職業生涯不難看出,他是非常典型的技術型創始人,也給予了公司非常濃厚的技術氛圍,並經常撰寫技術博客、組織純技術的線下活動來分享實際的優化經驗。

張鑫

侑虎科技創始人兼CEO 張鑫

職業生涯與個人感悟

張鑫的職業生涯萌芽於計算機圖形學。從實驗室研究、盛大遊戲工程師、Unity技術支持經理到現在侑虎科技創始人兼CEO,這一路走來,張鑫將其歸結於緣分以及興趣使然。在碩博連讀五年的時間裏,張鑫發表了多篇論文,卻也不想再這樣下去,「我不希望發表過的那些文章單純地累積在那裏。要知道每年世界上都會出現一些可以改變世界的Paper,但99.9%基本都是灌水,更多的是爲了發文章而發文章,這沒有任何意義。我希望我做的東西,是可以被別人看到或使用的,哪怕做得不好,甚至被別人罵,但那也是好的,至少證明別人在使用。」所以他離開了學術圈,加入到盛大遊戲,開啓了他遊戲開發工程師的生涯。

四年前Unity引擎在中國市場興起時張鑫就對其評價很高,認爲Unity的研發思想與他個人的職業理想相當契合。「如果我沒有參與過引擎研發,恐怕很難無法體驗到Unity的美妙。Unity的簡單易用、多平臺支持、組件式開發和Asset Store等等,讓當時的我深深感到震撼。」

在談到爲什麼會有創業的想法時,張鑫坦言:「性能優化對於幾乎每一位遊戲/VR應用工程師們而言都是痛點。我們團隊人雖少,但是各方面人才俱全,曾經學習的知識對遊戲以及VR都有着很大的幫助,圖形學涉及最爲廣泛的領域即是遊戲領域。同時,我們對於移動應用優化方面也都有着豐富的經驗,我們希望能幫助百萬開發者解決性能優化的種種問題,讓優化變得簡單起來。另一方面創業也是我興趣使然,我和我的小夥伴想要做自己喜歡的事情,想要做一個屬於我們自己的公司。」

在這些經歷中,張鑫也有了很多體會。「人在不斷地經歷也在不斷地成長,其中最大的感悟就是讓我明白瞭如何去解決問題。任何人的技術都可以通過後天學習來補齊,但是一個人的素質、學習能力是最爲重要的。對於任何事情,感興趣就去做,不要猶豫不決。我本身而言不是一個被動的人,我比較喜歡攬事情。這個給我,那好,我來去做、去講。很多事情無法推卸,與其被動地接受,還不如主動地學習。另外我認爲一個人,他能扛住多大的壓力,就能有多大的成就;其次重要的就是要有樂於挑戰的精神,不要害怕失敗。」

遊戲/VR應用開發的常見問題和誤區

在各個遊戲項目等的研發、支持和培訓工作中,張鑫表示大部分開發團隊碰到最多的問題就是性能優化。廣義地說,優化就是讓研發提速,可以是遊戲的某一些性能優化,也有可能是其他的問題優化。而性能優化最大的痛點就是沒有大量的時間、人力去優化或缺乏經驗,企業或開發者需要耗費大量的心血和精力對產品進行檢測。」

我們主要的目的是對遊戲/VR的性能進行優化。對於遊戲/VR項目而言,性能優化有三點:CPU、GPU和內存。CPU又包括兩塊,一塊是開發工具,例如引擎;另外一塊是代碼。GPU就相當於一個Graphics,渲染時,檢測用的材質是否合規格。將CPU到GPU的通道稱之爲帶寬。單位時間內,傳輸資源量到GPU上去,若傳不過去,自然渲染不出來,相當於GPU這一塊帶寬不行。另外,在我們測評的大量項目中,90%以上的項目都存在不同程度的內存問題。

一是內存泄漏,也是最大的問題。可通過以下幾種方法判斷內存是否泄漏:

  1. 檢查資源的使用情況,特別是紋理、網格等資源的使用;
  2. 通過Profiler來檢測WebStream或SerializedFile的使用情況;
  3. 通過Android PSS/iOS Instrument反饋的App線程內存來查看。

二是資源泄露,相當於在上一場景中使用資源,下一次場景已經不再使用,但是沒有卸載乾淨,這樣資源就泄露了或造成資源冗餘。有可能該資源只需一份就夠了,但是由於置入的資源規格或流程不對會造成內存中存在多份。

另外,就目前大家比較關注的VR性能優化,張鑫表示:「對於一個遊戲來說,如果玩的時候由於各種原因很卡,甚至崩潰了兩三次,那我可能就放棄這個遊戲了。但是對於VR應用要求就更高了。VR最大的問題是舒適度,即是否造成眩暈。因爲VR應用會有個延遲度,這個延遲度很高的時候, 用戶就會產生卡頓感,它會使你非常暈。比如我們玩手機,30幀、20幀時還可以玩下去,這是因爲我知道它是一個平面,跟我是存在距離感的,而且瞭解它的環境。但如果戴上頭戴式設備時,就會有立體感,如果你的世界都是這麼一卡一卡的,這個體驗就非常差。」

也正如張鑫所言,在VR如此火熱的今天,人體工學依然是致命問題,這直接導致時至今日,沒有一款重度VR遊戲或一部較長的VR視頻誕生。但是,VR卻也是真實的未來。「我認爲未來VR也有存在於全行業的可能。VR是這樣的,如果想讓它達到一個很好的流暢體驗,不暈眩的話,延遲度至少要在22毫秒或15毫秒以下,甚至更嚴格地在7-8毫秒以下。現在來說,任何的優化技術都不如去解決幀率,如果幀率可上升到90甚至是120,就不會有任何由卡頓來造成的眩暈感。幀率越高,畫面越真實,感覺也會越好。」

做一個着力於遊戲/VR應用性能診斷與優化的工具

在採訪中,張鑫介紹了目前正在做的事:致力於爲開發者提供性能測評服務。就性能診斷與優化功能而言,開發者只需依照網站提示步驟下載並集成UWA插件,將項目提交到網站即可。整個過程無需改動代碼,48小時內就能收到詳盡的測試報告。而最新上線的資源監測與分析功能,可以協助研發團隊快速檢測項目資源的使用情況,高效定位問題資源,及時提供資源的優化方案。

談及創立侑虎科技的初衷,張鑫表示:Make It Simple!這是我們的願景,希望通過我們的協助,可以爲項目研發節省一點點的時間,讓大家的項目性能變得有那麼一點點不一樣。