VR场景优化,知易行难



开发者们或者玩家,在开发或者体验各种PC/主机游戏,还是手游以至VR游戏,都会对这样一个名词有着特殊的理解和关注,那就是FPS(帧速率Frames Per Second)顾名思义就是每秒钟渲染的帧数,即显卡和显示器每秒钟都会更新数十张不同的图像(帧),进而形成一种动画的效果。对于一些差的内容的体验,玩家也会给与出“哦,太卡了”类似于这样的评价,这正是FPS的原因,如果FPS太低,画面就一卡一卡的,而最新的要求:90 帧每秒-这是对 Gear VR 消费者版的新的目标:你需要硬件能够稳定的渲染两块 HD 画面,以 90 帧每秒的刷新率,否则画面抖动你就会感觉很晕——戴上VR头盔之后,采用OLED屏幕的内容则可以达到75FPS的更新,事实上,为了避免出现眩晕感,游戏内容的画面刷新也必须达到75FPS。


但交互游戏并不是预先拍摄好的电影,它需要根据玩家的操作来触发不同的逻辑和剧情,并对应的渲染出不同的画面。 而一个游戏场景可能是复杂的,细碎的,并且有很高的真实感和特效方面的要求。如何优化我们的场景和渲染策略,在如此有限的时间要求内,实现高效与细节并存的游戏内容呢? 本文将针对这一话题做适当的讨论,只期望为读者和开发者们小启一扇门扉。


渲染批次(Draw Call)的思考,卡车花在路上的时间太长

举个栗子:假设有一个果园,每天它都要派出一辆卡车,走固定的路线运送水果到市里。如果运送的水果总量为10吨,而这辆卡车一次能够承载200千克水果的话,那么它需要跑上50趟才能完成这一任务,也许这会花费整整一天的时间,但我们并不希望这项工作花掉那么多的宝贵时间,那么一种直截了当的解决方案是:给这辆卡车换上更为给力的发动机,比如NVIDIA的战术核显卡,让它跑全程的速度减半再减半,同样50趟的任务,这回只要一个上午就可以搞定了。这成百上千吨的水果就好比是复杂和精致的VR场景内容,同一时间内能够送达的越多,它能够表达的内容真实感与细节程度也就越详实。


内容开发者们同样遇到了这种问题的时候,第一选择往往是换用更逆天的显卡和系统,送200趟水果的卡车,就好比跑了200个渲染批次的显卡,而每个批次的执行都是会消耗固定时间的。而为了缩短这一时间与其直接买入更新的显示设备,倒不如先仔细想一想,渲染批次过多的瓶颈是什么,我又能把它优化到什么地步(至少恢复到50个批次的正常水准?), 

以往制作游戏场景的美术人员更愿意用“三角面数”(Triangle Face)来描述内容的复杂程度或者制作水准,但对于实时渲染而言,三角面数并不足以决定渲染的效率以及帧速率结果。仅用了一个批次就完成渲

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值