Oculus Home背后:軟件開(kāi)發(fā)與重構
如果你不知道如何使用,那么戴上虛擬現實(shí)頭顯又有什么意義呢?
本文引用地址:http://dyxdggzs.com/article/201609/296719.htm虛擬現實(shí)的興起意味著(zhù)大家足不出戶(hù)就能去到熱帶小島,或者是在太空中射殺外星人。但在這之前,他們需要一個(gè)接口,可以讓他們輕松與虛擬現實(shí)應用進(jìn)行交互的接口。
這個(gè)接口必須要易于使用,反應及時(shí),跟大家熟悉的屏幕按鍵和菜單類(lèi)似。這也是為什么一家名為Envelop的初創(chuàng )公司在最近推出一個(gè)類(lèi)似微軟Window系統的虛擬現實(shí)用戶(hù)界面的原因。
但就算是像Oculus Rift這樣銷(xiāo)售虛擬現實(shí)頭顯的大公司,制作這些新的用戶(hù)界面也不是一件容易的事情。在圣何塞舉辦的Facebook年度工程會(huì )議上,Oculus的軟件工程師Khoi Nguyen講述在這一過(guò)程中所面臨的挑戰。
原來(lái)的Oculus Home主頁(yè)面加載很慢,很多漏洞,并充滿(mǎn)著(zhù)冗長(cháng)的代碼。

原來(lái)的Oculus主界面加載速度很慢,比較拙劣。后來(lái)他們又從零開(kāi)始設計,盡量確保所有東西都能流暢地運行。Nguyen解釋說(shuō),用戶(hù)界面的設計并不一定會(huì )造成用戶(hù)的流逝,反而是軟件部分需要徹底翻修。
Nguyen雖然有過(guò)游戲開(kāi)發(fā)的經(jīng)驗,但并不太精通制作像Facebook或谷歌那些用于同時(shí)容納數百萬(wàn)用戶(hù)的大型工程架構。他承認,自己并不熟悉大型互聯(lián)網(wǎng)公司經(jīng)常使用的一些先進(jìn)開(kāi)發(fā)工具和數據處理引擎。
Oculus Home的第一個(gè)迭代依賴(lài)于幾個(gè)軟件服務(wù),而他的團隊卻不能對其進(jìn)行更新。他解釋說(shuō),更新一些舊的軟件服務(wù)會(huì )不可避免地破壞其他服務(wù)。
這些漏洞并沒(méi)有完全摧毀用戶(hù)界面,但確實(shí)對性能表現造成了影響。
例如,在頭顯中加載Oculus Home這樣簡(jiǎn)單的任務(wù)會(huì )花費更長(cháng)的時(shí)間,這是因為軟件之間的沖突和過(guò)時(shí)的軟件造成的。因此,Nguyen的團隊想出了一個(gè)技巧來(lái)轉移人們的注意力,不讓用戶(hù)過(guò)分關(guān)注這個(gè)延遲。
當頭顯啟動(dòng)的時(shí)候,主頁(yè)面會(huì )正常地出現在用戶(hù)的顯示屏中,但它會(huì )慢慢淡出并消逝在黑暗之中,然后再次出現在視線(xiàn)之內。
但Nguyen表示這種做法是不對的。因為他們制作的用戶(hù)界面很混亂,最終他們只能寫(xiě)一些冗長(cháng)的代碼。
Nguyen說(shuō):“代碼很快就變成了意大利面。在最后變得并不好吃。”
由于過(guò)多地復制和粘貼代碼令到他們很難對用戶(hù)界面進(jìn)行更新和優(yōu)化,這是軟件開(kāi)發(fā)的另一個(gè)問(wèn)題。
不過(guò),這個(gè)用戶(hù)界面還是可以運作,仍然可以進(jìn)行下載并運行虛擬現實(shí)應用。直到Facebook在2014年以20億美元的價(jià)格收購Oculus之后,Nguyen和他的團隊才得以利用這家大公司的資源來(lái)重新設計Oculus Home。
他的團隊使用了兩個(gè)Facebook的開(kāi)源或者說(shuō)免費軟件工具React和Flux來(lái)打造用戶(hù)交互界面。他們也打造了可以高效重復使用的開(kāi)發(fā)者組件。這些定制的軟件構件可以讓他們?yōu)橹黜?yè)面添加新的功能,就像瀏覽虛擬現實(shí)應用時(shí)出現在用戶(hù)屏幕上的文本框。這減少了可能會(huì )讓用戶(hù)界面加載緩慢的混亂代碼。
另外,Nguyen和他的團隊設計了一個(gè)更高效的方法來(lái)儲藏記錄所有變化的數據,例如當用戶(hù)在主頁(yè)面滑動(dòng)瀏覽應用時(shí)或決定運行某個(gè)應用時(shí)所發(fā)生的變化?;旧?,這個(gè)虛擬現實(shí)用戶(hù)界面已經(jīng)規劃好,他的團隊可以更好地理解一個(gè)軟件的變化對其他其軟件所造成的影響。
在之前,他們很難記錄這些變化,這導致像軟件消耗過(guò)多計算機系統資源這樣問(wèn)題的出現,從而造成加載過(guò)慢或軟件漏洞。
重新設計Oculus Home用了數個(gè)月的時(shí)間,并于2016年3月16日正式亮相。重現編寫(xiě)的軟件可以讓他們更容易檢測并修復問(wèn)題。他說(shuō)自己“有信心可以進(jìn)入任何的文檔中,并知道出現了什么問(wèn)題。”
評論