高通分享总结篇(2024)
1. 热门手游线程分布情况
Game | MainThread | RenderThread | Game engine worker threads |
---|---|---|---|
Genshin(原神) | 1 | 2 | 3 |
Hongkai StarRail(星寫铁道) | 1 | 1 | 4 |
HOK(王者荣耀) | 1 | 1 | 2 |
Game for Peace(和平精英) | 1 | 2 | 4 |
Justice Mobile(逆水寒手游) | 1 | 1 | 5 |
Condor Heroes(射雕手游) | 1 | 2 | 12 |
Ex Astris(来自星辰) | 1 | 1 | 5 |
CODM(使命召唤手游) | 1 | 1 | 4 |
LOLM(英雄联盟手游) | 1 | 1 | 2 |
2. 高通骁龙 8Gen2 & 8Gen3 CPU配置
Hardware Parameter | SD8 Gen2 | SD8 Gen3 | ||||
---|---|---|---|---|---|---|
Kryo 8XX | Kryo 9xx | |||||
Core type | Prime [Based on Cortex -X3] | Gold [Based on Cortex-A710] | Silver [Based on A510 refresh] | Prime [Based on Cortex -X4] | Gold [Based on Cortex-A720] | Silver [Based on A520] |
FMax | 3.36GHz | 2.8GHz | 2.0GHz | 3.4GHz | 3.2GHz | 2.3GHz |
Configuration | 1 | 2+2 | 3 | 1 | 5 | 2 |
L2$ | Prime: 1MB/core | 512KB/core | 128KB | Prime: 2MB/core | 512KB/core | 512KB Shared |
L3$ | 8MB | 12MB |
3. 高通骁龙888, 8Gen1, 8Gen2 & 8Gen3 GPU配置
Hardware Parameter | SD888 | SD8 Gen1 | SD8 Gen2 | SD8 Gen3 |
---|---|---|---|---|
Adreno 660 | Adreno 730 | Adreno 740 | Adreno 750 | |
Num of Shader Processor | 3 | 4 | 6 | 6 |
GMEM Size | 1.5MB | 2MB | 3MB | 3MB |
FMax | 840MHz | 818MHz | 680MHz | 903MHz |
GFX5.0 Manhattan 3.1 (1080P Offscreen) | 125 | 177 | 224 | 278 |
GFX5.0 Aztec Ruins Vulkan (High Tier) | 31 | 45 | 69 | 94 |
4. 高通骁龙888, 8Gen1, 8Gen2 & 8Gen3 GPU特性
Hardware Parameter | SD888 | SD8 Gen1 | SD8 Gen2 | SD8 Gen3 |
---|---|---|---|---|
Adreno 660 | Adreno 730 | Adreno 740 | Adreno 750 | |
VRS | Draw based | Draw + Image based | Draw + Image + Primitive based | Draw + Image + Primitive based |
Ray Tracing | No | No | Ray Query | Ray Pipelines |
GMEM as General Purpose memory | GMEM read for Compute | GMEM write for UAV | Generic GMEM read and write | Generic GMEM read and write |
Mesh Shading | No | No | No | Yes |
Concurrent Binning | No | Yes | Yes | Yes |
5. 手游技术趋势
a. 手游渲染的画质会越来越高, 终端用户敏感的分辨率也会更大. 更多高级的渲染效果会用到手游上, 比如GPU driven, OIT, VRS, Raytracing, etc.
b. 随着SOC对Vulkan的支持越来越好, 很多游戏公司都看到了Vulkan在CPU方面的收益, 更多的新游戏会把Vulkan作为默认的API, 也有不少已经上线的热门游戏会推出Vulkan版本
c. 越来越多的游戏会支持全平台(手机, PC, console), 如何合理利用一些高效而实用的渲染特性使手游达到接近端游的体验是很多游戏工作室探索的技术点
d. Compute shader在实现高级而创新的渲染效果中被广泛应用, 如何提升compute shader的性能和能效比, 以及最高效的使用compute shader, 是SOC厂家和工作室共同需要研究的领域
e. 随着Al技术的发展, 越来越多的游戏用到了AI(AI超分, AI降噪, AI NPC, 等等). 游戏工作室需要探索如何更高效的在手机上使用AI, SOC厂家也需要进一步提升游戏中使用AI的性能和能效
6. 空间上采样&时间上采样
6.1. 空间上采样(Spatial Upscaling)
a.定义:空间上采样是指仅使用当前帧的数据来增加图像或帧的分辨率
b.代表算法:FSR1.0, GSR1.0
c.特点:速度快, 集成简单, 不依赖深度和运动信息
d.局限:画质提升有限, 抗锯齿效果不明显
6.2. 时间上采样(Temporal Upscaling)
a.定义:时间上采样使用当前帧以及先前帧的数据来提高图像质量
b.代表算法:DLSS2.0, FSR2.0, GSR2.0
c.特点:图像质量更好,良好的抗锯齿效果
7. 移动端插帧技术介绍&分析
7.1. 2D
a.基干序列图像, 无3D信息
b.传统的視频插帧算法大多属于这一类. 移动端AFME1.0就属于这一类. 优点是接口简单, 速度较快
c.算法原理大多是首先计算block的motion, 然后做全图的wrap. 图像质量依赖于motion计算的精确度
d.难点是对于重复出现的pattern比如楼梯, 常常会算错motion而发生扭曲. 出于性能的考虑, block的motion在搜紫时道常有一个范围, 这个范围决定了motion的上限, 一旦运动较大或者帧率较低导致motion超出这个上限就会出错
7.2. 3D
a.除了color, 通常还需要depth, velocity和carera信息. AFME2.0属于这一类
b.对于静态场景, 这类算法能快速而且高质量地还原. 核心算法是reprojection, 非常适合运行在GPU上
c.难点是阴影, 透明或半透物体和in-game UI. 通常需要借助optical flow engine来处理这类物体, 而且需要明显的额外开销. 这些难点问题, 目前我们认为可能更适合用基于AI的算法来处理
8. 移动端超分和插帧后端对比 GPU vs NPU
8.1. GPU
优点
a.完美融入渲染管线. 无内存, 缓存共享问题, 无同步问题. 目前大部分主流的移动端超分和
插帧算法都可以做到零延迟
b.对于一些传统的图形学运算比如Lanczos Filtering, Reprojection, Fusion, Warping等, GPU运算速度更快而目更精确
c.开源的GPU算法通常是跨平台的
缺点
•缺乏对图像内容的理解, 对于人眼能轻易识别的阴影, 透明或半透明物体, 具备特定线条和形状的物体处理难度很高
•超分、插帧算法和游戏渲染任务同时跑在GPU上, 对GPU性能和功耗压力较大
https://github.com/SnapdragonStudios/snapdragon-gsi
8.2. NPU
优点
a.算法兼容性和稳定性更好, 能处理很多传统算法不好处理的corner case. 同时处理多种复杂case的复杂度并不像传统算法那样叠加关系
b.把超分和插帧算法移到NPU上去跑, 不会对GPU造成性能和功耗压力
缺点
a.依赖GPU和NPU数据共享和硬件同步支持, 否则会有明显的延迟. 目前移动端在这一块进展缓慢
b.AI算法在速度上通常不如基于GPU的算法, 很难做到零延迟. 特别是Temporal的算法
c.NPU/AI算法通常不是跨平台的, 需要为不同的平台单独适配
https://aihub.qualcomm.com/models/quicksrnetlarge
9. 延迟, 性能&功耗
9.1. 延迟
9.2. 性能
Tech | Latency | Performance |
---|---|---|
GSR 1.0 | 0 | 0.3ms |
GSR 2.0 | 0 | 1.6ms |
AFME 1.0 | 0~0.5 frame | <1ms |
AFME 2.0 | 0~0.5 frame | dynamic |