開發中的“軟”與“硬”:高畫質移動游戲開發之道

摘要:游戲的效果不僅與游戲引擎的渲染相關,與硬件優化也有千絲萬縷的聯系。一款基于芯片優化的移動游戲界面,甚至可以堪比視頻游戲的視覺效果。高通半導體事業部資深經理劉曉光從軟硬件兩個層面分享了移動游戲開發之道。

在今年的Unity亞洲開發者大會上,高通公司半導體事業部資深經理劉曉光從硬件芯片、引擎優化、OpenGL ES 3.0支持,以及開發工具等角度,分享了如何軟硬件雙管齊下,開發及優化出優秀的移動游戲。


高通公司半導體事業部資深經理劉曉光

高通深植無線領域已逾25年,一直引領無線領域的創新,到目前為止芯片出貨量已超過150億。高通僅2013年在R&D方面投入了50億美元,這在所有高科技公司中,每年50億美元的R&D投入是非常大的。劉曉光表示“到目前為止高通擁有超過84000多個合作伙伴,我們的市值也已經達到1280億美元。”

到現在為止高通覆蓋了市場中超過1350款終端,而且還有500款正在緊鑼密鼓地研發過程中。截止至目前,與已經有超過100個廠家采用高通處理器研制手機。


采用高通Snapdragon的平板電腦

高通和微軟進行了深度合作,在Windows Phone領域中,高通是最大的供貨商,100%的Windows Phone都是采用的高通處理器。同時,我們也是最先支持Windows Phone和Windows 8的芯片供應商。到目前為止,已經有超過50款Windows Phone和RT設備面世,將來還會有更多Windows Phone平臺設備會應用到高通處理器。

移動游戲與芯片

移動游戲這幾年的發展突飛猛進,其增長率甚至超過了整個游戲領域增長率。據Gartner分析報告顯示,從2013到2015年,移動游戲領域收入將會翻倍,實現從132億至220億美元的增長。而且將會有更多的游戲開發商和設備生產商被吸引至移動平臺上來。到底是什么使移動游戲如此流行?劉曉光認為真正原因還是用戶體驗。如果對比2010年狂野飆車的界面和2013年狂野飆車8的界面,渲染、背景,儼然是兩個時代的產品。

高通的處理器不僅僅是面向高端領域,從低端入門到高端的產品均有涉獵,從低到幾百元的智能手機,到最高端的智能手機,大多數用的都是高通驍龍芯片。高通驍龍芯片有四個特點,提供最完整的單芯片解決方案,有強大的圖形處理器,以及異步對稱多處理(aSMP)CPU架構,這是現在很多芯片所不具備的。

在CPU構架方面,高通在移動領域上是唯一支持異步對稱多處理架構的公司。留意一下關于手機芯片的新聞你會發現一個問題,有很多性能比較高的芯片進入市場,但是為什么在手機上很少見呢?那是因為高性能并不是全部,高性能和低功耗相結合才是剛需。異步處理器,在性能和功耗能效上具備最佳平衡,只有異步處理器,才能保證當手機忙的時候,讓所有的核都工作起來,讓手機性能達到最高,但是手機空閑的時候,不同的CPU可以單獨工作,讓功耗降至最低。

“在SoC嵌入式GPU領域,高通市場份額第一,占有32.3%的市場份額,Nvidia占1.4%,剩下的48家廠商則占66.3%”劉曉光表示,“GPU在移動領域發展非常迅速,甚至超過了整個PC領域。高通在短短幾年內,從最早的GPU的Adreno A200開始到現在最新的Adreno A420的處理器,將其整體性能提升了65倍。”


觀眾現場體驗采用高通技術的平板電腦

基于OpenGL ES 3.0進行優化

高通不僅支持從DX9.3到DX11.1版本,也是全球第一個支持OpenGL ES 2.0和OpenGL ES 3.0的芯片,并在GDC上宣布支持OpenGL ES 3.1。

以實例化幾何渲染(Instaced Geometry Rendering)為例,大家繪制比較復雜的圖形時,經常會遇到一些需要重復渲染的小元素,比如說天上的鳥,地上的螞蟻等類似場景,以前需要對它們逐一渲染,這會占用很多CPU資源,非常耗電。而現在繪制一個實例,GPU可以一次渲染多個類似對象,這讓游戲繪制流暢很多。

對于OpenGL ES 3.0的遮擋查詢(Occlusin Queries)方面。我們在移動設備做事情講的最多的就是提高效率,我們也想了很多方法來提高效率,比如說有景深的畫面,如果前面的元素遮擋了后面的元素,那么后面的元素是不需要渲染的。而這在以前開發過程中需要全部渲染出來,做了許多無用功。我們用遮擋查詢,可以讓繪圖效率達到最高,通過查詢簡單的查詢,可以判斷邊界是否被遮擋,比如在做鏡頭光暈效果時,可以查詢太陽是否可見,并且只渲染鏡頭光暈。

另外高通對陰影PCF做了很多優化,讓整個陰影更加的流暢,包括延遲著色和光照,對于幾何物體,在第一遍著色時就會被渲染,在第二遍著色時,只有在有光照的情況下才會最終被渲染成像素。可以說,OpenGL ES 3.0開啟了移動領域的延遲光照,這需要GPU支持多渲染目標和浮點紋理。“我們可以同時對多個目標進行渲染,我們的浮點紋理處理性能也非常高。”劉曉光表示。

很多開發者可能都有過這樣的體會,當你做紋理壓縮的時候,OpenGL ES 2.0就是個惡夢,直到3.0定義了紋理壓縮格式。“希望大家盡快遷移到3.0版本,因為OpenGL 2.0做游戲,要針對不同的GPU做不同的紋理壓縮包。不是讓應用體積增大,就是需要你在用的時候下載不同的擴展包。對于小白用戶來說,他不知道自己的手機是什么樣的,也不知道,這個游戲是不是為他所用的設備生產的,有那么多的下載資源,如果游戲下載到手機上,發現沒法玩的時候,受害最大的還是開發者,如果遷移到3.0上的話,這些問題就迎刃而解了。”

對GPU的歷史熟悉的朋友肯定知道,以前GPU曾有兩派,一種是可編程單元式頂點著色器和像素著色器用不同的單元做,另一種則是同一單元可以做頂點著色,也可以做像素著色。各有各的好處,到移動領域,最優解是同樣的處理單元可以做不同的工作。現在GPU畫圖時,如果頂點處理的任務和像素處理的任務,并沒有完全充分利用到現在的處理單元的話,有一部分單元是空閑的。在移動領域最不容忍的就是浪費效率和浪費能耗。

廣泛支持引擎中間件

高通跟很多游戲引擎中間件都有合作,包括包括游戲引擎Unity、Unreal、CryENGINE、Unigine,物理引擎Box2D、havok、Bullet,音頻引擎FMOD、SRS、Dolby、Wwise,以及高級渲染引擎Lighting Engine、Enlighten、ALG、Procedural Texturing,讓開發者無需接觸GPU開發,可以直接通過這些引擎達到GPU優化的目的。

高通針對第三方引擎我們做了很多優化,首先是渲染和用戶界面,讓游戲引擎針對我們的GPU進行優化,包括最新的API調用,以及GPU的特性。針對物理和AI的引擎,則讓它充分利用到高通GPU的多線程的特性,并且讓它利用高效的處理單元,甚至DSP以最低功耗最快的速度處理你需要的數據。在視頻和音頻方面,讓解碼器用DPS,把最完美的圖像做出來。高通芯片支持所有的網絡協議,在LTE Cat6的下載速度可以達到300Mbps的水平,通過與游戲引擎公司合作,讓他們在網絡層面進行充分優化,讓需要聯網的應用或游戲網絡延遲更小。

Unity CEO參觀高通展位

多種工具助力開發及優化

高通為開發者提供了Adreno的SDK和調試工具Adreno Profiler。Adreno SDK在桌面上可以模擬OpenGl ES,高通有實例和教程,可以掌握OpenGL ES的用法。調試工具對于開發者來說非常必要,它能夠對GPU的利用率進行細致分析。同時,高通還有工具庫,幫開發者做紋理壓縮和混合優化。

大家在開發過程中可能會碰到各種各樣的問題,以前靠猜問題出在哪兒,甚至走很多彎路。Adreno GPU分析器,它有兩種模式,一個是“洗滌器模式”,在一幀里著色紋理,所有調用信息實時進行處理,讓你知道繪制這個圖的時候,你的程序給GPU下了什么指令,GPU做的動作是什么。另外一個是“繪圖器模式”,實時監視并分析所有數據,包括每種3D場景,GPU調用的實施情況,你可以從中知道GPU是否在想要的狀態下工作。

高通驍龍覆蓋低端、中端、高端移動終端。高通和Unity一起基于高通處理器對Unity 4.3做了優化,大家可以享受高通處理器優化的功能。同時,高通還未為開發者提供工具和文檔,節約開發時間。劉曉光表示,對于優秀的頂級廠商,還有應用開發商,高通還會為大家的應用提供更多的展示機會。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/447895.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/447895.shtml
英文地址,請注明出處:http://en.pswp.cn/news/447895.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

解決 VUE: [Vue warn]: Do not use built-in or reserved HTML elements as component id: xx

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 1. 新增一個組件,運行無問題,但F12報錯: vue.esm.js?efeb:591 [Vue warn]: Do not use built-in o…

Linux系統重置和修改root密碼

Linux系統經常會出現忘記root密碼的情況,寫下此隨筆,以便記憶和學習。 一、重置root密碼的步驟如下: 1.如果系統是開機狀態,重啟一下。進到下面這個界面按字母“e”鍵。 2.找到 linux16這一行,將下圖紅框中的內容修改為…

KETTLE 使用教程

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 Kettle的建立數據庫連接、使用kettle進行簡單的全量對比插入更新:kettle會自動對比用戶設置的對比字段,若目標表…

為什么你應該參與到開源項目中

試圖描述開源并不是一件容易的事——很多圖書作家,社區領袖和主持人對于開源社區的工作原理以及它是否對新人程序員有幫助持不同意見試圖描述開源并不是一件容易的事——很多圖書作家,社區領袖和主持人對于開源社區的工作原理以及它是否對新人程序員有幫…

根據庫位獲取倉庫id

通過location獲取warehouse location.get_warehouse() 轉載于:https://www.cnblogs.com/brucexl/p/11425603.html

AI:初學者如何從零學習人工智能?看完你就懂了

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 此文是想要進入人工智能這個領域、但不知道從哪里開始的初學者最佳的學習資源列表。 一、機器學習 有關機器學習領域的最佳介紹&#…

Ubuntu下Navicat 配置

創建快捷方式: 1. 創建navicat.desktop文件 2.內容如下: [Desktop Entry]EncodingUTF-8NameNavicat PremiumCommentThe Smarter Way to manage dadabaseExec/bin/sh "/home/fit/Downloads/navicat112_premium_en_x64/start_navicat"Icon/home/fit/Downloads/navicat1…

歷史上最知名的15位計算機科學家

基于維基百科上超過11,000位歷史人物的數據,麻省理工學院媒體實驗室創建出了一種名為“歷史人氣指數(HPI)”的參數。以下列出了15個歷史上最知名的計算機科學家,我們來看一下他們的“HPI”分數。麻省理工學院媒體實驗室推出了一個…

想要轉人工智能,程序員該如何學習?(學習路線、知識體系)

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 對于程序員來說,碼農之路并不是一帆風順。對于每一個入行IT業的社會青年來說,誰不是抱著想要成為最高峰的技術大…

js 的匿名函數

var sum function(x,y){alert(xy); }; 像上面這種,function后面沒有函數名的函數就叫做匿名函數。以上是將匿名函數賦值給了sum變量。 還有一種寫法: alert((function(x,y){return xy; })(2,3));//結果為5 當單獨運行一個匿名函數時會報錯,比…

科目三并不難 盤點科目三技巧

科目三難不難?相信很多學員都會有這個疑問,其實,找駕校網可以負責任的告訴你,只要掌握了科目三考試技巧,通過科目三的機會將會大大增加。下面就請看科目三技巧,幫你輕松通過駕校科目三考試。   科目三考試…

健康腎臟有“六怕”

補腎”一詞大家并不陌生,甚至有人呢拿它當成功課來做。但其實,保護腎臟是日常生活中的小習慣就可以做到的,盲目的補腎則可能會傷腎!今天我們就來看看,腎臟都有哪“六怕”。 腎臟一怕:只重補腎,忽視腎臟健…

【轉載】矩陣求導、幾種重要的矩陣及常用的矩陣求導公式

版權聲明:本文為博主原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。本文鏈接:https://blog.csdn.net/daaikuaichuan/article/details/80620518 一、矩陣求導 一般來講,我們約定x(x1,x2,...xN)…

AI 人工智能學習路線

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 相關視頻資料下載見:https://blog.csdn.net/qwxwaty/article/details/80800701 階段一、人工智能基礎 - 高等數…

mysql多條數據合并一條之后取出重復值

mysql多條數據合并一條用,逗號分隔 GROUP_CONCAT(equipment_type) as type mysql多條數據合并一條用,逗號分隔并且去除重復值 GROUP_CONCAT(distinct equipment_type) as type 這里的distinct必須放在開頭 轉載于:https://www.cnblogs.com/zjj1990/p/11452951.html

人生一世 什么真正的才是你的?

近日看了一篇文章:“人生一世、什么是你的?”讓人思緒起伏。是啊,人生一世、到底什么才是你的,臨近古稀、這個問題讓人深思回首: 初戀是你的嗎?那是你們什么都還不成熟,只是一時的感情沖動,有很多的不現…

一張圖看懂AI、機器學習、深度學習的關系

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 AI(人工智能)是未來,是科幻小說,是我們日常生活的一部分。所有論斷都是正確的&#xff0…

數據結構與算法緒論

基本概念和術語 數據數據是信息的載體,是描述客觀事物屬性的數,字符以及所有能輸入到計算機中并被計算機程序識別和處理的符號的集合。 數據元素數據元素是數據的基本單位,通常作為一個整體進行考慮和處理。一個數據元素可由若干個數據項組成…

學習不能速成

學習是一個過程,在幼兒階段,如果爸媽不求速成,讓孩子能愉快地經歷各種建立新知的方式,打好基礎、享受學習,孩子才能終身保有學習的熱情。 日子過得飛快,整個世代仿佛在不斷地急速轉變,凡事講求速…

Django權限系統auth模塊詳解

轉自:原文出處 auth模塊是Django提供的標準權限管理系統,可以提供用戶身份認證, 用戶組和權限管理。 auth可以和admin模塊配合使用, 快速建立網站的管理系統。 在INSTALLED_APPS中添加django.contrib.auth使用該APP, auth模塊默認啟用。 User User是auth…