新聞中心

EEPW首頁(yè) > 消費(fèi)電子 > 業(yè)界動(dòng)態(tài) > Oculus Home背后:軟件開發(fā)與重構(gòu)

Oculus Home背后:軟件開發(fā)與重構(gòu)

作者: 時(shí)間:2016-09-08 來(lái)源:YIVIAN 收藏

  如果你不知道如何使用,那么戴上虛擬現(xiàn)實(shí)頭顯又有什么意義呢?

本文引用地址:http://butianyuan.cn/article/201609/296719.htm

  虛擬現(xiàn)實(shí)的興起意味著大家足不出戶就能去到熱帶小島,或者是在太空中射殺外星人。但在這之前,他們需要一個(gè)接口,可以讓他們輕松與虛擬現(xiàn)實(shí)應(yīng)用進(jìn)行交互的接口。

  這個(gè)接口必須要易于使用,反應(yīng)及時(shí),跟大家熟悉的屏幕按鍵和菜單類似。這也是為什么一家名為Envelop的初創(chuàng)公司在最近推出一個(gè)類似微軟Window系統(tǒng)的虛擬現(xiàn)實(shí)用戶界面的原因。

  但就算是像Oculus Rift這樣銷售虛擬現(xiàn)實(shí)頭顯的大公司,制作這些新的用戶界面也不是一件容易的事情。在圣何塞舉辦的Facebook年度工程會(huì)議上,Oculus的軟件工程師Khoi Nguyen講述在這一過(guò)程中所面臨的挑戰(zhàn)。

  原來(lái)的主頁(yè)面加載很慢,很多漏洞,并充滿著冗長(zhǎng)的代碼。

  

Oculus Home背后:軟件開發(fā)與重構(gòu)

 

  原來(lái)的Oculus主界面加載速度很慢,比較拙劣。后來(lái)他們又從零開始設(shè)計(jì),盡量確保所有東西都能流暢地運(yùn)行。Nguyen解釋說(shuō),用戶界面的設(shè)計(jì)并不一定會(huì)造成用戶的流逝,反而是軟件部分需要徹底翻修。

  Nguyen雖然有過(guò)游戲開發(fā)的經(jīng)驗(yàn),但并不太精通制作像Facebook或谷歌那些用于同時(shí)容納數(shù)百萬(wàn)用戶的大型工程架構(gòu)。他承認(rèn),自己并不熟悉大型互聯(lián)網(wǎng)公司經(jīng)常使用的一些先進(jìn)開發(fā)工具和數(shù)據(jù)處理引擎。

  的第一個(gè)迭代依賴于幾個(gè)軟件服務(wù),而他的團(tuán)隊(duì)卻不能對(duì)其進(jìn)行更新。他解釋說(shuō),更新一些舊的軟件服務(wù)會(huì)不可避免地破壞其他服務(wù)。

  這些漏洞并沒(méi)有完全摧毀用戶界面,但確實(shí)對(duì)性能表現(xiàn)造成了影響。

  例如,在頭顯中加載這樣簡(jiǎn)單的任務(wù)會(huì)花費(fèi)更長(zhǎng)的時(shí)間,這是因?yàn)檐浖g的沖突和過(guò)時(shí)的軟件造成的。因此,Nguyen的團(tuán)隊(duì)想出了一個(gè)技巧來(lái)轉(zhuǎn)移人們的注意力,不讓用戶過(guò)分關(guān)注這個(gè)延遲。

  當(dāng)頭顯啟動(dòng)的時(shí)候,主頁(yè)面會(huì)正常地出現(xiàn)在用戶的顯示屏中,但它會(huì)慢慢淡出并消逝在黑暗之中,然后再次出現(xiàn)在視線之內(nèi)。

  但Nguyen表示這種做法是不對(duì)的。因?yàn)樗麄冎谱鞯挠脩艚缑婧芑靵y,最終他們只能寫一些冗長(zhǎng)的代碼。

  Nguyen說(shuō):“代碼很快就變成了意大利面。在最后變得并不好吃。”

  由于過(guò)多地復(fù)制和粘貼代碼令到他們很難對(duì)用戶界面進(jìn)行更新和優(yōu)化,這是軟件開發(fā)的另一個(gè)問(wèn)題。

  不過(guò),這個(gè)用戶界面還是可以運(yùn)作,仍然可以進(jìn)行下載并運(yùn)行虛擬現(xiàn)實(shí)應(yīng)用。直到Facebook在2014年以20億美元的價(jià)格收購(gòu)Oculus之后,Nguyen和他的團(tuán)隊(duì)才得以利用這家大公司的資源來(lái)重新設(shè)計(jì)Oculus Home。

  他的團(tuán)隊(duì)使用了兩個(gè)Facebook的開源或者說(shuō)免費(fèi)軟件工具React和Flux來(lái)打造用戶交互界面。他們也打造了可以高效重復(fù)使用的開發(fā)者組件。這些定制的軟件構(gòu)件可以讓他們?yōu)橹黜?yè)面添加新的功能,就像瀏覽虛擬現(xiàn)實(shí)應(yīng)用時(shí)出現(xiàn)在用戶屏幕上的文本框。這減少了可能會(huì)讓用戶界面加載緩慢的混亂代碼。

  另外,Nguyen和他的團(tuán)隊(duì)設(shè)計(jì)了一個(gè)更高效的方法來(lái)儲(chǔ)藏記錄所有變化的數(shù)據(jù),例如當(dāng)用戶在主頁(yè)面滑動(dòng)瀏覽應(yīng)用時(shí)或決定運(yùn)行某個(gè)應(yīng)用時(shí)所發(fā)生的變化。基本上,這個(gè)虛擬現(xiàn)實(shí)用戶界面已經(jīng)規(guī)劃好,他的團(tuán)隊(duì)可以更好地理解一個(gè)軟件的變化對(duì)其他其軟件所造成的影響。

  在之前,他們很難記錄這些變化,這導(dǎo)致像軟件消耗過(guò)多計(jì)算機(jī)系統(tǒng)資源這樣問(wèn)題的出現(xiàn),從而造成加載過(guò)慢或軟件漏洞。

  重新設(shè)計(jì)Oculus Home用了數(shù)個(gè)月的時(shí)間,并于2016年3月16日正式亮相。重現(xiàn)編寫的軟件可以讓他們更容易檢測(cè)并修復(fù)問(wèn)題。他說(shuō)自己“有信心可以進(jìn)入任何的文檔中,并知道出現(xiàn)了什么問(wèn)題。”



關(guān)鍵詞: Oculus Home

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉