注视点渲染Foveated rendering是什么

简介: Foveated rendering听起来好像是非常复杂的技术。但实际上注视点(foveation)的底层概念非常直接。使用人注视屏幕的信息,可以减少生成场景的运算资源,方式是使用高分辨率渲染人眼观看的小区哉,而场景外的其它区域(人的四周)采用更小的分辨率和更少的细节。注视点渲染主要用于显示技术,如VR头显和AR眼镜,对些场景资源优化至关重要。

Foveated rendering听起来好像是非常复杂的技术。但实际上注视点(foveation)的底层概念非常直接。使用人注视屏幕的信息,可以减少生成场景的运算资源,方式是使用高分辨率渲染人眼观看的小区哉,而场景外的其它区域(人的四周)采用更小的分辨率和更少的细节。注视点渲染主要用于显示技术,如VR头显和AR眼镜,对些场景资源优化至关重要。

本文中作者会回答一个问题:什么是注视点渲染?我们会讨论动态注视点渲染、静态(或固定)注视点渲染,以及这些技术如何降低GPU的计算负载。还会讲到其姐妹概念-动态注视点传输如何了减少所需的网络带宽。

注视点渲染是一种设备性能优化技术,将资源集中于渲染人眼所注视的显示区域。该区域中的内容即刻以高分辨率渲染人眼注视的周边。其余的图像-人视角的外围以低分辨率进行渲染,减少渲染场景所用的资源,同时又让用户体验没有可见的损失。

2023112902201952.jpg

苹果展示了人眼渲染图像和汽车图展示了大脑是如何渲染内容的

注视点渲染成立是因为它模拟了人的视觉,以及我们的感知在视场中是如何降级的。我们的大脑渲染所看到的内容是通过焦点高分辨率(图示中的苹果)配合其它看到内容的中低分辨率完成的。

2023112902273415.jpg

VR头显中的固定注视点渲染

什么是静态(或固定)注视点渲染?

注视点渲染中的静态方式,或我们所称的固定注视点渲染,假定用户的焦点是屏幕的中央(有时就是这样的)。图示中展示了固定注视点渲染在VR头显是如何通过硬编码区域对屏幕进行划分的。假定的用户注意力区域(屏幕中心的白色区域)以100%进行渲染。灰色区域以中分辨率渲染,蓝色区域以低分辨率渲染,进而减少渲染整个场景所需的资源。可以在几乎所有设备上实现静态注视点渲染,极有可能看到一定程序的资源优化,但不一定能达到最优用户体验。早期镜片的外围变形使得我们有机会在本就会模糊的区域降低分辨率,但镜片的品质在提升,因此需要对整个视场进行高分辨率的渲染。

什么是动态注视点渲染?

2023112902384997.jpg

VR头显中的动态注视点渲染

动态注视点渲染利用人的实际注意力区域完整渲染图片的小区域(图中的白色区域),向外扩展为中(灰色区域)和低分辨率(浅蓝色),不产生品质和用户体验的降级。要实现动态注视点渲染,我们需要精准的、低延时的眼动追踪,可反复发送用户实时的准确注视点。我们对动态注视点渲染所做的一些基准测试结果非常优异。用Unity引擎对Pico头显所做一项测试中,GPU着色负载最高下降72%,平均下降60%。我们的测试显示帧率稳定性大幅提升,大启用了动态注视点渲染看一下吧每秒没掉到90帧以下。这对于用户于体验极佳。

动态注视点渲染的好处

因其可以降低处理负载,动态注视点渲染可以让GPU以更低温度运行,相应地会降低能耗,进而减少对冷却的需求以及降低风扇的噪音,提升了舒适度也延长了电池的寿命。

限定全分辨率渲染的区域降低了复杂着色器的负载,减少了渲染场景所花费的时间。空闲的资源可用于带来更真实的着色和更高级别的场景复杂度。

最重要的是动态注视点渲染(DFR)是一项提升指定硬件架构性能的优化技术。在实践中,DFR延长了独立头显上固定资源GPU的寿命,支持新兴内容和显示技术,并以更低的代价提供了逼真、沉浸式的用户体验。

什么是动态注视点传输?

动态注视点传输是轻量可穿戴设备得以实现的基石。随着设备越来越轻、资源越来越有限,低延时网络和设备外运算对很多应用都变得至关重要。一种降低设备和云端或边缘计算之间数据传输量的方式就是动态注意点传输。

动态注视点传输利用眼动追踪捕捉人眼的注视点,向远端处理器发送指令,根据人眼注视的区域以高、中、低分辨率渲染场景(与设备上的动态注视点渲染运行原理相同),从而降低每个场景在网络中所传输的数据量。

为何要实现注视点渲染?

注视点渲染是XR的一项核心技术。在设备上实现动态注视点渲染,需要有眼动追踪配件,相机、反光镜以及可以处理眼部机理的算法。这一技术需要实时发送精准的注视点,并且需要适用于使用设备的来自各地的人。对于商业设备,设计的方案要求能够利用动态注视点渲染开发高级应用的同时又不会大量地重复编程。

参考链接:https://www.tobii.com/blog/what-is-foveated-rendering

相关实践学习
在云上部署ChatGLM2-6B大模型(GPU版)
ChatGLM2-6B是由智谱AI及清华KEG实验室于2023年6月发布的中英双语对话开源大模型。通过本实验,可以学习如何配置AIGC开发环境,如何部署ChatGLM2-6B大模型。
相关文章
|
机器学习/深度学习 传感器 编解码
Real-ESRGAN超分辨网络
Real-ESRGAN超分辨网络
898 1
|
5月前
|
存储 安全 Java
2025 年最新 40 个 Java 基础核心知识点全面梳理一文掌握 Java 基础关键概念
本文系统梳理了Java编程的40个核心知识点,涵盖基础语法、面向对象、集合框架、异常处理、多线程、IO流、反射机制等关键领域。重点包括:JVM运行原理、基本数据类型、封装/继承/多态三大特性、集合类对比(ArrayList vs LinkedList、HashMap vs TreeMap)、异常分类及处理方式、线程创建与同步机制、IO流体系结构以及反射的应用场景。这些基础知识是Java开发的根基,掌握后能为后续框架学习和项目开发奠定坚实基础。文中还提供了代码资源获取方式,方便读者进一步实践学习。
1606 2
|
SQL 容灾 关系型数据库
让X不断延伸, 从跨AZ到跨Region再到跨Cloud
本文从“空间”这一维度,聊一聊PolarDB-X在跨空间部署能力上的不断发展和延伸,以及在不同空间范围下的高可用和容灾能力,并着重介绍一下最新的产品能力——GDN(Global Database Network)。
8839 23
|
11月前
|
供应链 安全 区块链
【北京大学 软件工程】一、软件工程概论
本文介绍了软件的定义、特点及分类,探讨了软件工程的起源、概念及其框架,并展望了软件工程的新视野。软件是指计算机系统中的程序及其文档,具有无形性、复杂性和高开发成本等特点,分为系统软件、支撑软件和应用软件三类。软件工程起源于解决早期编程难题,历经个人程序、软件作坊到软件工程时期的发展,旨在以工程化方法解决软件危机。软件工程的核心目标是生产正确、可用且开销合理的软件,主要活动包括需求分析、设计、实现、确认和支持。新一代信息技术如量子计算、区块链等正推动软件工程向更高效、安全的方向发展。
【北京大学 软件工程】一、软件工程概论
|
8月前
|
人工智能 智能设计 数据可视化
AIGC设计点亮巴黎奥运AI科技之旅
AIGC设计点亮巴黎奥运AI科技之旅
|
前端开发 JavaScript
除了 jsPDF,还有哪些前端库可以用于生成 PDF?
【10月更文挑战第21天】这些前端库都有各自的特点和优势,你可以根据具体的项目需求、技术栈以及对功能的要求来选择合适的库。不同的库在使用方法、性能表现以及功能支持上可能会有所差异,需要根据实际情况进行评估和选择。
|
10月前
|
存储 缓存 Serverless
使用云存储构建云上推理平台
本文介绍了大模型分布式推理的工作流、IO分析、存储需求及解决方案。通过分布式缓存和P2P能力,优化了大规模并发场景下的模型加载与分发效率,提升了推理性能。NAS文件存储和OSS加速器在高并发读取和小模型缓存中表现出色,支持秒级加载和高效数据处理。阿里云存储为开发者提供了稳定、高效的推理环境,助力AI应用快速落地。
|
搜索推荐
Edge——如何屏蔽CSDN搜索结果
Edge——如何屏蔽CSDN搜索结果
455 1
Edge——如何屏蔽CSDN搜索结果
|
网络协议 中间件 Linux
SOME/IP概述2【SOME/IP的主要中间件功能+SOME/IP报文PDU的封装】
SOME/IP概述2【SOME/IP的主要中间件功能+SOME/IP报文PDU的封装】
905 100
SOME/IP概述2【SOME/IP的主要中间件功能+SOME/IP报文PDU的封装】