VR延迟优化方法(二)

xiaozhu12371237 2016-10-09 07:49:11
加精

驱动层面的优化

假设垂直同步时, 当前帧还没有渲染完毕, 这时如果要进行Timewarp的话, 就需要驱动提供一种高优先级的异步调用, 这就是异步Timewarp的由来: Timewarp操作与场景渲染并行执行, 如果没有新的渲染画面, 就继续使用上一帧的画面进行Timewarp.



这可以在一定程度上补偿FPS不达标造成的延迟问题, GearVR中正是应用了这项技术, 保证了手机VR的体验.

当然, PC上使用项技术还是有一些限制:
必须是Fermi, Kepler, Maxwell(或更新)核心的GPU
GPU是以DrawCall为单位调度的, 所以耗时太长的DrawCall是插入不了Timewarp绘制操作的
需要最新的Oculus和NVIDIA驱动支持
异步Timewarp并不是说FPS低于标准还能流畅跑, 这只是一种补救措施, 所以优化仍然要好好做-_-

驱动方面还有一些其它的优化空间, 比如强制提交渲染队列:



如果驱动中缓存了3帧, 那延迟优化就白做了



另外就是大家耳熟能详的Back Buffer(Double Buffer Rendering), 其实也会增加一点延迟, 不如省掉这一步, 即Front Buffer Rendering, 或者叫Direct Mode:

...全文
4263 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
DreamLife. 2016-10-13
  • 打赏
  • 举报
回复
棒棒的,好好学习,天天向上
细水长流- 2016-10-12
  • 打赏
  • 举报
回复
棒!
qq_27223559 2016-10-11
  • 打赏
  • 举报
回复
学习了 感谢楼主
鱼弦 2016-10-11
  • 打赏
  • 举报
回复
业余草 2016-10-10
  • 打赏
  • 举报
回复
厉害,非常的厉害!!! www.codedq.net

949

社区成员

发帖
与我相关
我的任务
社区描述
为开发者提供高通丰富的解决方案及全面技术下载内容。本版以AI人工智能、WoS移动笔记本、XR、IoT 物联网、Auto 汽车、生成式AI等核心板块组成,为开发者提供一个便捷及高效的学习交流平台。
人工智能物联网机器学习 企业社区 北京·东城区
社区管理员
  • Qualcomm开发
  • csdnsqst0050
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧