Oculus Home背后:软件开发与重构

如果你不知道如何使用,那么戴上虚拟现实头显又有什么意义呢?

虚拟现实的兴起意味着大家足不出户就能去到热带小岛,或者是在太空中射杀外星人。但在这之前,他们需要一个接口,可以让他们轻松与虚拟现实应用进行交互的接口。

这个接口必须要易于使用,反应及时,跟大家熟悉的屏幕按键和菜单类似。这也是为什么一家名为Envelop的初创公司在最近推出一个类似微软Window系统的虚拟现实用户界面的原因。

但就算是像Oculus Rift这样销售虚拟现实头显的大公司,制作这些新的用户界面也不是一件容易的事情。在圣何塞举办的Facebook年度工程会议上,Oculus的软件工程师Khoi Nguyen讲述在这一过程中所面临的挑战。

原来的Oculus Home主页面加载很慢,很多漏洞,并充满着冗长的代码。

原来的Oculus主界面加载速度很慢,比较拙劣。后来他们又从零开始设计,尽量确保所有东西都能流畅地运行。Nguyen解释说,用户界面的设计并不一定会造成用户的流逝,反而是软件部分需要彻底翻修。

Nguyen虽然有过游戏开发的经验,但并不太精通制作像Facebook或谷歌那些用于同时容纳数百万用户的大型工程架构。他承认,自己并不熟悉大型互联网公司经常使用的一些先进开发工具和数据处理引擎。

Oculus Home的第一个迭代依赖于几个软件服务,而他的团队却不能对其进行更新。他解释说,更新一些旧的软件服务会不可避免地破坏其他服务。

这些漏洞并没有完全摧毁用户界面,但确实对性能表现造成了影响。

例如,在头显中加载Oculus Home这样简单的任务会花费更长的时间,这是因为软件之间的冲突和过时的软件造成的。因此,Nguyen的团队想出了一个技巧来转移人们的注意力,不让用户过分关注这个延迟。

当头显启动的时候,主页面会正常地出现在用户的显示屏中,但它会慢慢淡出并消逝在黑暗之中,然后再次出现在视线之内。

但Nguyen表示这种做法是不对的。因为他们制作的用户界面很混乱,最终他们只能写一些冗长的代码。

Nguyen说:“代码很快就变成了意大利面。在最后变得并不好吃。”

由于过多地复制和粘贴代码令到他们很难对用户界面进行更新和优化,这是软件开发的另一个问题。

不过,这个用户界面还是可以运作,仍然可以进行下载并运行虚拟现实应用。直到Facebook在2014年以20亿美元的价格收购Oculus之后,Nguyen和他的团队才得以利用这家大公司的资源来重新设计Oculus Home。

他的团队使用了两个Facebook的开源或者说免费软件工具React和Flux来打造用户交互界面。他们也打造了可以高效重复使用的开发者组件。这些定制的软件构件可以让他们为主页面添加新的功能,就像浏览虚拟现实应用时出现在用户屏幕上的文本框。这减少了可能会让用户界面加载缓慢的混乱代码。

另外,Nguyen和他的团队设计了一个更高效的方法来储藏记录所有变化的数据,例如当用户在主页面滑动浏览应用时或决定运行某个应用时所发生的变化。基本上,这个虚拟现实用户界面已经规划好,他的团队可以更好地理解一个软件的变化对其他其软件所造成的影响。

在之前,他们很难记录这些变化,这导致像软件消耗过多计算机系统资源这样问题的出现,从而造成加载过慢或软件漏洞。

重新设计Oculus Home用了数个月的时间,并于2016年3月16日正式亮相。重现编写的软件可以让他们更容易检测并修复问题。他说自己“有信心可以进入任何的文档中,并知道出现了什么问题。”

免责声明:本网站内容主要来自原创、合作伙伴供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,应及时向本网站提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明。本网站在收到上述法律文件后,将会依法尽快联系相关文章源头核实,沟通删除相关内容或断开相关链接。