Skip to main content

更快、更順暢的行動裝置體驗:使用 Vulkan 將 Roblox 最佳化

8 月

24, 2020

by zeuxcg


技術

全世界已經有數百萬台 Android 裝置安裝了 Roblox,而在所有裝置上都維持良好的效能對我們而言是非常重要的。 成像效能算是比較艱難的挑戰之一,其中牽涉到了許多不同的硬體架構、不同耗電量和效能的裝置及不同類型和版本的驅動程式。

我們在 2018 年推出了 Vulkan 成像器。這段日子以來,它不斷地在吃掉我們的 OpenGL 成像器的市場占有率;現在已經有四成左右的 Android 使用者在用 Vulkan 了。

Vulkan 後端的回響在我們推出 Vulkan 後越來越熱烈,而我們必須投入很多時間去分析和改良它的效能。 這項工作需要做很多調查和實驗,我們當時只能依靠少數的效能導向最佳化過程或程式碼來嘗試不同的問題處理方法,並找出其中最適合我們的方法。

我們在 2019 年的 Reboot Develop Red 和 ARM 舉辦了聯合演講,以兩種不同的角度探討效能最佳化的挑戰:

  • 現在有越來越多由 ARM 開發並捐給 Khronos 的效能導向範例 Vulkan 程式碼。有興趣的讀者可以前往此處了解更多資訊:https://www.khronos.org/blog/vulkan-releases-unified-samples-repository。 ARM 的 Joe Rozek 分享了程式碼的基本結構與使用的架構。
  • 為了幫助其他開發者優化他們的 Vulkan 程式碼,並分享一些發現和處理 Roblox 遇到的問題時所學到的心得,我提到了我們在最佳化成像器時遇到的幾個具體問題、必須衡量的取捨及最後使用的解決方法。

您可以前往 https://www.youtube.com/watch?v=hPW5ckkqiqA 觀賞完整的演講,並在 https://zeux.io/data/reboot2019.pdf 下載演講簡報。


Roblox Corporation 與此部落格不為任何公司或服務宣傳或背書。 另外,我們不保證此部落格李的資訊的準確度、可靠度及完整度。

此部落格文章原本在 Roblox 科技部落格發布。