当前位置: 首页 > article >正文

探索高通骁龙游戏超分辨率技术:移动游戏的未来

高通技术公司于2024年推出了骁龙游戏超分辨率2(Snapdragon Game Super Resolution 2,简称GSR2),这是一项全新的骁龙Elite Gaming功能,旨在最大化移动游戏的性能和电池寿命。

什么是骁龙游戏超分辨率2(GSR2)?

骁龙GSR2是一种时间抗锯齿和超分辨率(TAAU)的实现。其核心算法使用两个通道(passes):转换通道(pass)和超分通道(pass),并可选集成一个锐化通道(pass)以提高视觉质量。

  • 转换通道:准备必要的缓冲区,如运动缓冲区和深度剪裁缓冲区,这些信息将作为下一步的输入,用来指导超分通道(pass)将如何融合历史帧像素和当前帧像素。
  • 超分通道(pass):在这个通道(pass)中,首先使用一个优化的Lanczos对当前帧进行上采样,然后将上采样像素与GSR2的历史像素进行混合,从而完成时间上的上采样和混合。

与大多数TAAU算法类似,骁龙游戏超分辨率需要以下输入:

  • 低分辨率深度数据
  • 低分辨率颜色数据
  • 低分辨率运动矢量

骁龙游戏超分辨率的主要特点和改进

骁龙游戏超分辨率2相比其前身有多项显著改进:

  • 增强的视觉质量:GSR2可以将1080p游戏转换为惊艳的4K视觉效果,突出每一个细节。作为一种时域图像放大解决方案,通过聚合历史样本,可以增加采样点并使视觉效果更接近原生分辨率。
  • 改进的运行性能:以前运行在30FPS的游戏现在可以达到60+FPS,提供丝滑顺畅的游戏体验。如果游戏已经达到了目标帧率,这将为开发者提供额外的帧预算,以增强渲染管线或添加更高分辨率的纹理、更多几何体、细节层次等内容。
  • 更长的电池寿命:通过优化性能,GSR2有助于延长电池寿命,使玩家在移动设备中可以更长时间的运行游戏,同时将热量降至最低。

骁龙游戏超分辨率的性能优势

在移动平台上,可行的时域上采样解决方案的关键挑战是性能。算法必须足够快才能在高度优化的移动游戏中相比用原生全分辨率渲染仍有性能提升。游戏开发者的反馈表明,当分辨率放大至1260x2800时,算法应在骁龙8 Gen 3的最大GPU频率下运行时间不超过2毫秒。2毫秒的运行时间意味着在最低GPU频率下,GPU的运行时间可达8毫秒。

为了找到最佳解决方案,我们实现了多种版本,允许开发者根据其渲染管线和预算选择合适的解决方案。经过多次针对Adreno的优化,我们的2通道(passes)片段着色器版本达到了极致的1毫秒成本。

2.0x (630x1400 to 1260x2800)

1.7x (740x1648 to 1260x2800)

1.5x (840x1866 to 1260x2800)

GSR2 版本

时间(ms)

GSR2 版本

时间(ms)

GSR2 版本

时间(ms)

2 pass-CS

1.801

2 pass-CS

1.910

2 pass-CS

1.998

2 pass-FS

0.905

2 pass-FS

1.024

2 pass-FS

1.107

3 pass-CS

2.015

3 pass-CS

2.199

3 pass-CS

2.397

表一 GSR2各个版本在8Gen3的GPU耗时

表二 GSR2各个版本在8Gen3的帧率对比

骁龙游戏超分辨率2的视觉质量

GSR2在每帧渲染时对采样点进行微小的随机偏移,并累积历史样本,通过这种时域累积的上采样方式可以生成比GSR1更高质量的高分辨率图像,因为后者只能从当前帧缓冲区采样。

图一 GSR1(左) 与 GSR2(右)的视觉质量对比

图二 视觉质量对比(左一:双线性插值,左二:GSR2,左三:原生高分辨率)

下一步

我们满怀兴奋地推广骁龙GSR2,并期待它能帮助游戏开发者提升游戏画质和性能。该方案是完全开源的,您可以根据实际情况在以下多个版本中进行选择。

我们的Snapdragon Studios GitHub库中提供了3个版本的GSR2的shader。

Unreal Engine插件实现了多个引擎版本下的GSR2插件。

Vulkan Sample和OpenGL ES Sample分别提供了GSR2的Vulkan 示例和OpenGL示例。

作者:

沈骞,高通工程师

符婷,高通工程师

姜祥威,高通工程师

Rodrigo Holztrattner Reis,高通工程师


http://www.kler.cn/a/546268.html

相关文章:

  • LeetCode 热门100题-合并区间
  • AWS Database Migration Service
  • 【MySQL】 基本查询(上)
  • 可可泛基因组-文献精读112
  • 【TI C2000】F28002x的系统延时、GPIO配置及SCI(UART)串口发送、接收
  • 数仓:核心概念,数仓系统(ETL,数仓分层,数仓建模),数仓建模方法(星型模型,雪花模型,星座模型)和步骤
  • 无人机遥感在智慧农业信息提取的综合态势,包含:无人机平台的性能、机载传感器指标、地面传感器应用、农林遥感光谱指数、农林光谱建模方法等
  • ReactiveSwift模拟登录功能
  • 单元测试、系统测试、集成测试知识详解
  • 【ESP32指向鼠标】——icm20948与esp32通信
  • 在AMLOGIC android14 平台上使用adb
  • AI代码生成器如何降低系统复杂度
  • Github Action自动流翻译README文档【CI/CD】
  • 阿里巴巴对deepseek回应
  • ARM64 Trust Firmware [一]
  • python导入模块的方式
  • 力扣hot100第三天
  • css: 针对属性left/right/top/bottom为啥设置transition动画不起作用
  • 企业文件共享中的权限管理与安全风险防范
  • 渗透利器:Burp Suite 联动 XRAY 图形化工具.(主动扫描+被动扫描)