今年三月在舊金山的 2018游戲開發(fā)者大會(huì)上,Imagination Technologies展臺吸引了不少觀眾的眼球。如果您沒有親臨現(xiàn)場,不妨閱讀一下這篇文章,它會(huì)告訴你可能錯(cuò)過了哪些新技術(shù)。
PowerVR的開發(fā)者技術(shù)支持團(tuán)隊(duì)在GDC 2018
那么,都有哪些重大的新聞呢?作為2018 Release 1發(fā)布的內(nèi)容之一是來自PowerVR開發(fā)團(tuán)隊(duì)帶來的兩款具有開創(chuàng)性的開發(fā)工具:
● PVRStudio ——一款2018年全新的工具,它是一個(gè)功能齊全的IDE,世界上第一款移動(dòng)/嵌入式開發(fā)工具,讓你能夠調(diào)試GPU(這里指PowerVR)應(yīng)用,此外它還支持同時(shí)調(diào)試CPU和GPU。
● PVRTune Complete ——這款得到用戶高度評價(jià)的性能分析工具此次迭代更新帶來了一些非常重要的升級,作為業(yè)界另一個(gè)第一,我們比其他任何移動(dòng)GPU供應(yīng)商都提供更深入的驅(qū)動(dòng)和硬件信息。
了解更多請看下面的內(nèi)容!
PVRStudio
對于一個(gè)團(tuán)隊(duì)來說,發(fā)布一個(gè)新工具總是令人興奮的,但是PVRStudio則遠(yuǎn)遠(yuǎn)不止于此,它不僅如你所期待的那樣是一款為PowerVR定制的強(qiáng)大且功能齊全的IDE,而且支持在移動(dòng)/嵌入式平臺上進(jìn)行GPU調(diào)試,這在之前是沒有過的。
增加了對CPU和GPU的同步無縫調(diào)試功能,這在移動(dòng)/嵌入式平臺上也是從來沒有實(shí)現(xiàn)過的,這樣你就清楚我們?yōu)槭裁慈绱藷嶂缘男麄魉恕?/p>
開發(fā)人員將能夠調(diào)試一些程序——比如在GPU硬件平臺上執(zhí)行的OpenGL ES著色器和OpenCL內(nèi)核——尤其是統(tǒng)一渲染核心(USC)。這一切操作都和我們幾十年來CPU調(diào)試是一樣的,這款全新靈活的IDE將讓你更加詳細(xì)的調(diào)試GPU應(yīng)用以及優(yōu)化,它讓開發(fā)者能夠直接訪問PowerVR USC資源。
一款很現(xiàn)代化,非常強(qiáng)大的IDE和調(diào)試器
PVRStudio是基于非常流行的輕量級 Qt Creator 開發(fā)的,具備如下特性:
● 完全支持用戶所期望的斷點(diǎn)設(shè)置以及步進(jìn)調(diào)試
● 能夠查看圖形著色器和CPU內(nèi)核的內(nèi)存占用情況
● 在PowerVR GPU硬件平臺上支持某個(gè)著色器的調(diào)試,檢測內(nèi)存和GPU寄存器使用情況(針對特定的示例進(jìn)行調(diào)試)
PVRStudio采用的GDB的一個(gè)分支,稱為PVR-GDB。這意味著PVRStudio也能夠調(diào)試GDB所支持的任何處理器架構(gòu),我們也已經(jīng)增加了GDB調(diào)試PowerVR架構(gòu)的能力。
所有的PowerVR工具都是基于Qt框架,這給所有PowerVR開發(fā)人員提供了非常豐富的UI使用體驗(yàn)。
PowerVR Studio是一款功能齊全的IDE,能夠讓開發(fā)者在一個(gè)會(huì)話中同時(shí)調(diào)試PowerVR GPU和CPU
快速開發(fā),全面定制化——不需要依賴其他
PVRStudio使用 CMake 作為它主要的項(xiàng)目管理進(jìn)程,同時(shí)也支持Makefile,支持在安卓和Linux平臺的部署即用的特性。
開發(fā)者可以根據(jù)需要添加定制化的構(gòu)建和部署流程,此外,它還支持第三方插件來增強(qiáng)IDE功能。
簡而言之
PVRStudio 為在 PowerVR平臺上開發(fā)、調(diào)試和部署提供了端到端的解決方案,Windows 和 Linux平臺版本將在四月份可用,鑒于采用了NDA保密協(xié)議,你需要從我們這里獲取安卓/Linux鏡像(目前支持 宏碁Chromebook R13 ),當(dāng)然我們會(huì)經(jīng)常的進(jìn)行更新。
PVRTune Complete
PowerVR GPU性能分析工具PVRTune一直以來都為廣大開發(fā)者提供實(shí)時(shí)的顯示GPU的各項(xiàng)性能參數(shù),快速且高效的分析完全適合PowerVR架構(gòu)。
驅(qū)動(dòng)層的軟件計(jì)數(shù)器和硬件寄存器用于提供在PowerVR圖形核心上運(yùn)行應(yīng)用的實(shí)時(shí)性能數(shù)據(jù),這些詳細(xì)的信息可以用來輕松的辨識性能瓶頸,并且充分了解應(yīng)用程序在移動(dòng)和嵌入式平臺上的動(dòng)態(tài)信息,這將讓開發(fā)人員能夠以最低的功耗獲得最佳的性能。
這款高度評價(jià)的性能分析工具此次迭代更新帶來了一些非常重大的升級
那么PVRTune Complete具體有哪些更新?
對于下一個(gè)發(fā)布版本(PVRTune Complete 2018R1)開發(fā)者將能夠獲取比以前更多底層硬件和驅(qū)動(dòng)的詳細(xì)信息,其中一個(gè)方式就是采用“API Awareness”。
API Awareness是怎樣工作的?
PVRTune Complete能夠檢索和呈現(xiàn)由API(比如OpenGL ES/EGL)客戶端驅(qū)動(dòng)所生成的各種事件信息,這能夠讓開發(fā)者在PVRTune GUI中查看應(yīng)用層的API調(diào)用(比如glDraw),并且通過PowerVR驅(qū)動(dòng)和執(zhí)行的硬件來跟蹤一系列應(yīng)用層的任務(wù)。
通過這種方式開發(fā)者能夠看到在應(yīng)用層提交的任務(wù)如何直接影響驅(qū)動(dòng)器和硬件的行為和性能,PVRTune Complete也能夠提供來自客戶端驅(qū)動(dòng)器的其他一些信息,比如接口格式、大小和著色細(xì)節(jié),目前它支持OpenGL ES/EGL API,接下來將支持Vulkan。
還有哪些其他的變化?
當(dāng)然!為了讓那些底層的信息更加容易理解,我們也給UI做了明顯的改造,導(dǎo)航欄比以前更加直觀,數(shù)據(jù)顯示的清晰度也有了很大的提升。
我想了解PVRTune Complete更多的信息……
PVRTune分為兩個(gè)應(yīng)用程序:
● PVRTune GUI 是一個(gè)支持多平臺的客戶端,運(yùn)行在開發(fā)者的機(jī)器上,它會(huì)讀取、格式化并且展示由服務(wù)器發(fā)給客戶端的數(shù)據(jù)流。
● PVRPerfServer 是一個(gè)輕量級的應(yīng)用,可以運(yùn)行在各種目標(biāo)平臺上,它與我們的圖形驅(qū)動(dòng)建立連接,將驅(qū)動(dòng)發(fā)送的數(shù)據(jù)傳輸給GUI(或者保存為一個(gè)文件)。
“客戶端數(shù)據(jù)流”指的是由客戶端的圖形驅(qū)動(dòng)器所生成和發(fā)送的時(shí)序數(shù)據(jù),圖形驅(qū)動(dòng)包括OpneGL ES和EGL模塊等,應(yīng)用程序調(diào)用的某些特定重要的API才會(huì)被跟蹤,比如glDraw *等等。
PVRTune是唯一能夠與我們的驅(qū)動(dòng)和硬件通信的工具,它能夠讀取時(shí)序數(shù)據(jù)。
根據(jù)OpenGL ES和EGL客戶端驅(qū)動(dòng)所生成的內(nèi)容我們進(jìn)行檢索和呈現(xiàn)的特性包括如下:
● API事件
● 相關(guān)有用的信息包括:
? ? ○ 目標(biāo)渲染——包括像素格式、尺寸、深度/末班加載/存儲(chǔ)操作、壓縮等
? ? ○ 著色綁定——目前包括GLSL源碼,以后會(huì)涉及更多
? ? ○ 材質(zhì)信息
? ? ○ 更多信息
這意味著開發(fā)者能夠在PVRTune GUI中查看應(yīng)用層的API調(diào)用,比如glDraw*。通過我們的驅(qū)動(dòng)(服務(wù),固件等)開發(fā)者能夠“跟蹤”應(yīng)用層的一系列信息,并且還能夠控制硬件的執(zhí)行。因此開發(fā)者能夠查看應(yīng)用程序是如何直接上傳信息來影響驅(qū)動(dòng)器和硬件操作的。這是GPU供應(yīng)商第一次公開如此多的底層驅(qū)動(dòng)和硬件信息。
還有什么?
我們還有很多事情要做!驅(qū)動(dòng)器采用對象同步來確保驅(qū)動(dòng)器的操作隊(duì)列被GPU以正確的次序來執(zhí)行。操作可以被對象同步機(jī)制所阻塞,直到上一步的操作完成并且釋放相關(guān)資源,比如目標(biāo)渲染等。
PVRTune Copmlete現(xiàn)在可以捕捉驅(qū)動(dòng)器的同步對象并且以時(shí)間線(“操作隊(duì)列”)的方式顯示出來。如果同步數(shù)據(jù)可用,那么每個(gè)硬件核心比如tiler、渲染和計(jì)算等都會(huì)設(shè)置相應(yīng)的操作隊(duì)列。
時(shí)間軸隊(duì)列能夠讓用戶看到驅(qū)動(dòng)器的所有操作是如何安排的,這些操作從客戶端驅(qū)動(dòng)到硬件都可以被跟蹤。大多數(shù)情況下,驅(qū)動(dòng)程序調(diào)度與執(zhí)行的硬件之間會(huì)有一定的延遲,這個(gè)信息對開發(fā)者來說非常的有用,因?yàn)樗梢詭椭_發(fā)者診斷應(yīng)用程序負(fù)載的管道阻塞問題,比如某個(gè)操作已經(jīng)排隊(duì)等待了很長時(shí)間,但是由于依賴的資源缺少而無法執(zhí)行,這可能就會(huì)導(dǎo)致硬件的空閑。
那么之前的PVRTune呢?
PVRTune Complete將只能夠在NDA環(huán)境下可用,“PVRTune Developer”仍然會(huì)進(jìn)行開發(fā)來配合PVRTune Complete一起使用,并且像往常一樣進(jìn)行下載。PVRTune Developer具有很多與PVRTune Complete相同的特性,但是也減少了一些功能,尤其是與客戶端數(shù)據(jù)流和對象同步相關(guān)的內(nèi)容。
四月份“PVRTune Complete”將支持在Linux、Windows和OSX系統(tǒng)NDA環(huán)境下使用。
我對這些工具非常感興趣!
你當(dāng)然會(huì)感興趣!如果你今年沒來GDC大會(huì)現(xiàn)場并參觀我們的展臺,不妨將你的問題以郵件的形式發(fā)送給我們(devtech@imgtec.com)。你也可以在Twitter @ImaginationTech/ @PowerVRInsider、LinkedIn、Facebook和Google+上關(guān)注我們獲取最新的信息。
評論
查看更多