【GDC 2025】Rendering 'Assassin's Creed Shadows'

【GDC 2025】Rendering 'Assassin's Creed Shadows'

2026, May 14    

来源:D:\迅雷下载\Graphics Materials\GDC 2025 - Rendering ‘Assassin’s Creed Shadows’.pdf 提取时间:2026-05-14 12:09:45


Slide 1

Slide 1

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

1


Slide 2

Slide 2

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

2


Slide 3

Slide 3

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

3


Slide 4

Slide 4

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

4


Slide 5

Slide 5

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

5


Slide 6

Slide 6

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

6


Slide 7

Slide 7

7


Slide 8

Slide 8

8


Slide 9

Slide 9

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

9


Slide 10

Slide 10

如果你想知道竞技 FPS、军事射击游戏和刺客信条有什么特点 常见……很复杂 

10


Slide 11

Slide 11

11


Slide 12

Slide 12

点击我们也开始意识到大的发展有很长的寿命

有些系统需要数年时间才能构建,但可以生存十年

点击最终,我们相信努力的倍增会降低我们的竞争力

在如此多的引擎中使用相同的功能或系统已经不再有意义

12


Slide 13

Slide 13

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

13


Slide 14

Slide 14

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

14


Slide 15

Slide 15

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

15


Slide 16

Slide 16

当我们开始研究 ACShadows 时,我们希望将可扩展性推向 下一个级别。

16


Slide 17

Slide 17

单击它有破坏,单击光线追踪和单击虚拟几何

我还没说完

点击系统天气,点击甚至季节! 点击

我发誓,我不为小岛工作,但我可能也做出同样的表情

17 号


Slide 18

Slide 18

单击它有破坏,单击光线追踪和单击虚拟几何

我还没说完

点击系统天气,点击甚至季节! 点击

我发誓,我不为小岛工作,但我可能也做出同样的表情

18


Slide 19

Slide 19

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

19


Slide 20

Slide 20

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

20


Slide 21

Slide 21

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

21


Slide 22

Slide 22

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

22


Slide 23

Slide 23

我们有几个这样的网格。

这个世界结构的定义完全是数据驱动的。 点击

23


Slide 24

Slide 24

📌 要点汇总

  • LOD选择器:控制绘制距离,受加载网格的约束
  • 点云与渲染器:使用点云、大规模冒名顶替者渲染器及地形Vista进行大规模渲染
  • 多技术协同:结合LOD选择器、网格加载与点云技术实现高效渲染

绘制距离由我们所说的 LOD 选择器驱动

并受到加载网格的约束

除了这些网格之外,我们仍然渲染我们所说的“点云”,我们的大规模冒名顶替者 渲染器和地形 Vista。

24


Slide 25

Slide 25

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

25


Slide 26

Slide 26

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

26


Slide 27

Slide 27

27


Slide 28

Slide 28

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

28


Slide 29

Slide 29

📌 要点汇总

  • (无内容):此幻灯片

29


Slide 30

Slide 30

📌 要点汇总

  • (无内容):

单击和另一个视图。

30


Slide 31

Slide 31

单击和另一个视图。

31


Slide 32

Slide 32

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

单击和另一个视图。

32


Slide 33

Slide 33

ACShadows 现在添加了虚拟化几何体。

33


Slide 34

Slide 34

它在实例、集群和三角形级别引入了精细剔除。

34


Slide 35

Slide 35

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

(捕获 = PS5 上的 ACU)

35


Slide 36

Slide 36

GPUIR 在负载上执行批处理,旨在剔除每个实例数百万个实例。 框架。

正如您所看到的,更多步骤被移至 GPU。

为了实现这一目标,GPUIR 很大程度上依赖于我们称之为“数据库”的东西。

36


Slide 37

Slide 37

📌 要点汇总

  • 着色器输入组(SIG):用于生成着色器绑定的辅助函数和代码。
  • 数据库共享场景描述:在GPU驱动中实现CPU与GPU间完整场景数据同步。
  • 数据库类比构建数据:通过类比数据库设计数据结构与存储逻辑。
  • **Row指针类比**:用行对象表示指向其他对象的指针关系。

我们依赖着色器输入组 (SIG),这是我们用于着色器绑定的内部编译器,

生成所有辅助函数和绑定代码。

点击 在我们的 GPU 驱动管道的上下文中,数据库用于共享

CPU和GPU之间的完整场景描述。

点击 我们使用数据库类比来构建我们的数据。

单击 在此示例中,Row 相当于指向另一个对象的指针 我的对象。

37


Slide 38

Slide 38

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

38


Slide 39

Slide 39

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

39


Slide 40

Slide 40

• 脏行/页更新在行或页粒度上维护脏掩码并复制脏行或 页到目标表。

• 脏页复制以避免在CPU上存储非常大的表,它只分配和存储脏行 而是在 CPU 上,直到它们被刷新到 GPU。

40


Slide 41

Slide 41

📌 要点汇总

  • LOD结构:每个LOD包含2个LODDistances、1个主视图和1个阴影,支持自定义阴影距离
  • PSO批次管理:通过子网格级批处理哈希关联几何

每个 LOD 有 2 个 LODDistances、1 个主视图和 1 个阴影以允许自定义 阴影 LOD 距离,

几何体与 PSO 的关联是在子网格级别上通过 批处理哈希。

我们确保每个 PSO 只有 1 个批次,并且没有重复项。

点击

这就是我们在 SIG 中用表声明这一点的方式。每种类型都是一个数据库表,它们 通过行和范围属性链接。

41


Slide 42

Slide 42

📌 要点汇总

  • 分层结构:依赖实体组与叶节点组成,实现高效剔除性能
  • 实体组定义:同一加载单元内相同类型对象的集合
  • 叶节点功能:实例分割单元,通过空间聚类优化边界体积
  • 空间聚类策略:合并邻近实例以提升粗略剔除效率
  • 性能优化目标:最小化边界体积,增强剔除算法效果

为了实现良好的剔除性能,它依赖于由以下组成的分层结构 实体组和叶节点。

实体组 = 是加载单元中相同类型的一组对象 叶子节点 = 是一组实例

(实例被分割成leadNode)

我们收集同一叶节点中空间上彼此接近的实例 最小化它们的边界体积并使粗略剔除更加有效。

42


Slide 43

Slide 43

点击 最终,我们按照所选的更新策略(完整复制或 脏条目)。

点击 最后,我们在 GPU 上获取数据并根据需要使用它。

接口非常像CPP,同时保持数据的最大缓存效率 访问模式。

数据库是一种超结构化缓冲区,

43


Slide 44

Slide 44

在 GPU 上,我们有两个大步骤:帧剔除和每通道剔除。

单击 帧剔除会剔除所有通过 CPU 剔除的实例。 然后LOD选择和混合逻辑也在这个阶段执行。

单击 每通道剔除执行通道特定的视锥体 + 遮挡剔除。例如, 太阳阴影执行反视锥体剔除。

它还准备 VS 和 PS 访问几何和材料所需的实例数据 给定实例的数据。

最后在渲染时,我们支持在最终渲染之前进行可选的簇和三角形剔除 执行间接调用。

44


Slide 45

Slide 45

我们根据集群的可见性单独对集群进行流式传输。

多边形可以根据其大小进行硬件或软件光栅化。

45


Slide 46

Slide 46

📌 要点汇总

  • **

网格着色器或 SW 光栅化,具体取决于三角形大小

它具有 2 Pass HZB(分层 Z 缓冲区)遮挡系统

它从可见性缓冲区渲染延迟材质,输出到 Gbuffer

簇由 128 个三角形组成 [ACU 中的簇曾经是 64 个三角形,以匹配 nb 每个波前的车道],

集群流基于 GPU 反馈循环 [剔除遍历 - 页面 请求 – 异步 cpu 回读]

46


Slide 47

Slide 47

在 SW 光栅化期间,我们根据三角形交换 XY 虚拟坐标 配置以提高分支一致性。

最后,我们必须进行大量调整以减小根页面大小以支持高 我们游戏的实例数。

47


Slide 48

Slide 48

📌 要点汇总

  • GPUIR:主要大规模alpha测试植被渲染器,用于京都项目植被渲染
  • 京都项目:28k微多边形实例生成34M三角形,90%依赖软件光栅化
  • 场景聚焦:点击后显示GPUIR渲染树木,9k实例生成170万三角形
  • 性能对比:软件光栅化占比高,GPUIR优化后三角形数量显著减少
  • 技术目标:通过实例化技术降低渲染负载,提升植被渲染效率

而 GPUIR 是我们主要的大规模 alpha 测试植被渲染器。

在京都,我们有大约 28k 个微多边形实例,用于 34M 渲染的三角形。正如你 可以看到,在这种情况下,90% 的三角形都是软件光栅化的。

单击 对于 GPUIR,此场景中主要是树木。

我们有大约 9k 个实例分布在所有通道中,并用它渲染 170 万个三角形。

48


Slide 49

Slide 49

我们剔除 3M 个实例,最终渲染其中的 30k 个。场景有1.5B个三角形,我们 最终渲染了接近 7M。

我们的森林非常茂密..

49


Slide 50

Slide 50

最后,在右侧的 ACShadows 中,我们添加了对季节的支持,并开发了新的 光线追踪 GI 管道。

50


Slide 51

Slide 51

我们的 GI 管道是一个光谱,从烘焙到光线追踪漫反射和镜面反射。雷 跟踪可以通过计算着色器在硬件或软件中渲染。

本场比赛有一个特殊情况。我们有一个完全动态的藏身处,需要 光线追踪,否则它就没有 GI。

51


Slide 52

Slide 52

这个系统经历了多次迭代,不支持ACU中的时间,但是它 被添加到下一款游戏《辛迪加》中。

52


Slide 53

Slide 53

后来,AC Syndicate 通过混合 2 个固定 GI 键添加了动态时间 帧。

53


Slide 54

Slide 54

📌 要点汇总

  • 剧集扩展:《暗影》增加4季导致GI数据接近2TB,存储需求激增
  • 烘焙时间:当前烘焙时间已超600天,计算资源消耗巨大
  • **

点击 如果我们更进一步,《暗影》会增加 4 季。

现在,我们的 GI 数据已接近 2 TB,烘焙时间已超过 600 天。

即使我们忽略烘烤时间并想象我们有一个非常大的计算场,

显然我们必须采取一些措施来减少所需的存储空间。

54


Slide 55

Slide 55

点击 我们还为我们烘焙的 GI 引入了密度图和稀疏探针。

55


Slide 56

Slide 56

但这个面积还是比那些游戏的面积还要大。所以,这还不够 解决 GI 数据大小。

56


Slide 57

Slide 57

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

57


Slide 58

Slide 58

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

58


Slide 59

Slide 59

📌 要点汇总

  • 假设错误:春季与夏季漫反射GI在反

因此,我们做了两个假设,但我们知道这些假设根本上是错误的:

1)春季和夏季会输出相同的漫反射GI(事实上,它们在以下方面非常相似) 反照率术语)。

2)亮度在所有季节都保持不变,因此我们只存储一次,但我们单独存储 每个季节的色度值。

这显然是一个近似值。

如果几何形状发生变化或,亮度和色度值之间可能会不匹配 并不存在于每个季节。

但实际上,主要是植被受季节影响较大。并且有问题 烘焙时可以跳过几何形状。 59


Slide 60

Slide 60

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

60


Slide 61

Slide 61

61


Slide 62

Slide 62

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

62


Slide 63

Slide 63

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

63


Slide 64

Slide 64

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

64


Slide 65

Slide 65

然后在运行时,我们选择最接近当前 ToD 的 2 个关键帧,并将它们混合 相应地

对于季节,我们使用所谓的“变化状态”

65


Slide 66

Slide 66

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

66


Slide 67

Slide 67

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

67


Slide 68

Slide 68

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

68


Slide 69

Slide 69

但我们缺乏数据来支持这一点,因此希望保持我们的选择余地。所以,我们 追求内联/非内联/软件/硬件的完整抽象。

69


Slide 70

Slide 70

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

70


Slide 71

Slide 71

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

71


Slide 72

Slide 72

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

72


Slide 73

Slide 73

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

73


Slide 74

Slide 74

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

74


Slide 75

Slide 75

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

75


Slide 76

Slide 76

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

76


Slide 77

Slide 77

我们将命中存储在光线原点位置的光线追踪“gbuffer”中。

然后所有这些命中都会在命中照明通道中点亮。

如果给定位置没有命中,我们会处理未命中并对天空进行采样。

现在我们添加光线追踪探头的辐照度。

最后,我们对结果进行降噪,可选地添加一些额外的 RT-AO,添加 RT Specular if 可用,以获得最终图像。

77


Slide 78

Slide 78

📌 要点汇总

  • RT-AO应用:因性能限制,草未加入加速结构,需重新应用RT-AO优化AO效果
  • SSAO补充:通过评估SSAO术语弥补
  1. 光栅世界和光线追踪世界之间可能存在一些差异。 例如,出于性能原因,我们的草不存在于加速结构中。

单击 因此,我们将一些 RT-AO 重新应用于我们的一般 AO 术语。你可以看到它有什么帮助 房屋、大片植被……

单击 我们仍然评估一个微妙的 SSAO 术语,以捕获可能丢失的细节 来自低分辨率 BVH 或低光线计数(四分之一分辨率)

单击以获得最终渲染

78


Slide 79

Slide 79

📌 要点汇总

  • RT-AO重用:因性能限制,草未纳入加速结构,故将RT-AO应用于一般AO以
  1. 光栅世界和光线追踪世界之间可能存在一些差异。 例如,出于性能原因,我们的草不存在于加速结构中。

单击 因此,我们将一些 RT-AO 重新应用于我们的一般 AO 术语。你可以看到它有什么帮助 房屋、大片植被……

单击 我们仍然评估一个微妙的 SSAO 术语,以捕获可能丢失的细节 来自低分辨率 BVH 或低光线计数(四分之一分辨率)

单击以获得最终渲染

79


Slide 80

Slide 80

  1. 光栅世界和光线追踪世界之间可能存在一些差异。 例如,出于性能原因,我们的草不存在于加速结构中。

单击 因此,我们将一些 RT-AO 重新应用于我们的一般 AO 术语。你可以看到它有什么帮助 房屋、大片植被……

单击 我们仍然评估一个微妙的 SSAO 术语,以捕获可能丢失的细节 来自低分辨率 BVH 或低光线计数(四分之一分辨率)

单击以获得最终渲染

80


Slide 81

Slide 81

  1. 光栅世界和光线追踪世界之间可能存在一些差异。 例如,出于性能原因,我们的草不存在于加速结构中。

单击 因此,我们将一些 RT-AO 重新应用于我们的一般 AO 术语。你可以看到它有什么帮助 房屋、大片植被……

单击 我们仍然评估一个微妙的 SSAO 术语,以捕获可能丢失的细节 来自低分辨率 BVH 或低光线计数(四分之一分辨率)

单击以获得最终渲染

81


Slide 82

Slide 82

其中大多数可以根据资产覆盖以纠正特定问题。

82


Slide 83

Slide 83

📌 要点汇总

  • (无内容):此幻灯

83


Slide 84

Slide 84

📌 要点汇总

  • Anyhit成本高:精确结果需高成本,且存在大量重叠问题
  • 结果重叠多:高精度需求导致资源浪费与效率低下
  • 点击限制:限制点击次数会引发遮挡问题
  • 遮挡问题:操作受限时遮挡现象显著增加,影响体验

但我们最终遇到了以下两个问题之一:

  • 如果您想要精确的结果:Anyhit 的成本非常高,并且有很多重叠。

  • 如果你试图限制点击次数,你会遇到很多遮挡。

84


Slide 85

Slide 85

📌 要点汇总

  • 屏幕空间处理:点击操作在屏幕空间中处理,提升准确性和效率

它工作得很好,因为最接近的点击是在屏幕空间中处理的,并且更多 准确。

点击它也是镜面反射的非常好的和便宜的近似。

85


Slide 86

Slide 86

它工作得很好,因为最接近的点击是在屏幕空间中处理的,并且更多 准确。

点击它也是镜面反射的非常好的和便宜的近似。

86


Slide 87

Slide 87

📌 要点汇总

  • **超级着色器

最后,编写一个“适合所有人”的超级着色器相对容易

点击 但仍然有一些史诗般的失败,如这些屏幕截图所示。他们很容易被缓解 与覆盖。

87


Slide 88

Slide 88

延迟天气针对镜面光线追踪进行了全面评估,但不适用于漫反射,因为 多次评估的成本相当高。

不过,冬天静态雪会融入地形视野中,所以它甚至会扩散。

88


Slide 89

Slide 89

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

89


Slide 90

Slide 90

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

90


Slide 91

Slide 91

依靠空间分区仅对某些单元格执行部分更新 改变了。

91


Slide 92

Slide 92

采样时,我们找到周围的8个探针,

和具有相同分类的样本加权探头

92


Slide 93

Slide 93

📌 要点汇总

  • 信号稳定方法:通过追踪短光线并回退至辐射缓存实现暂时稳定
  • 效果对比展示:视频演示挑战性场景中使用/不使用缓存的差异结果
  • 精度与稳定权衡:输出精度较低是稳定性优先的必然取舍
  • 缓存特性说明:辐射缓存为临时性稳定方案而非永久解决方案

为了稳定信号,我们追踪较短的光线,并回退到辐射缓存,这 是暂时稳定的。

您可以在视频中看到一个具有挑战性的场景,以及使用和不使用缓存的结果。

输出的精确度有点低,但这是精确度和稳定性之间的权衡。

93


Slide 94

Slide 94

📌 要点汇总

  • (无内容):此幻灯

94


Slide 95

Slide 95

它由 2 级层次结构组成:高集群和集群。

高簇包含 16x16x16 簇。总共 260k 个集群。

我们首先执行粗略的簇剔除,然后在簇上进行更细的颗粒剔除 水平。

95


Slide 96

Slide 96

这是一个相对容易的开发,利用了为 diff 所做的大部分工作。

但我们必须解决 BVH 质量问题和去噪问题。

96


Slide 97

Slide 97

对角色、植被和动态对象进行材质遮罩

和SH去噪

97


Slide 98

Slide 98

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

和最终图像

98


Slide 99

Slide 99

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

和最终图像

99


Slide 100

Slide 100

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

和最终图像

100


Slide 101

Slide 101

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

和最终图像

101


Slide 102

Slide 102

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

和最终图像

102


Slide 103

Slide 103

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

103


Slide 104

Slide 104

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

104


Slide 105

Slide 105

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

105


Slide 106

Slide 106

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

106


Slide 107

Slide 107

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

107


Slide 108

Slide 108

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

108


Slide 109

Slide 109

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

109


Slide 110

Slide 110

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

110


Slide 111

Slide 111

单击 雨和雪延迟渲染

单击 我们引入了多状态实体的概念。

根据游戏特定逻辑改变实体、它们的外观或任何东西。

111


Slide 112

Slide 112

然后将这些量输入到各种系统,例如体积云以驱动 它们的形成、风和雨。

右侧是海拔高度函数的各种量的一些图表:温度、 蒸气、涡度、…

112


Slide 113

Slide 113

📌 要点汇总

  • 可视化脚本:基于节点图系统,数据驱动阴影可视化逻辑
  • 氛围图功能:整合引擎与atmos输入,驱动天气、季节及ToD系统
  • 技术艺术融合:通过数据驱动逻辑实现动态环境效果控制

单击 对于阴影,我们添加了带有氛围图的可视化脚本的概念。

它基于我们的节点图系统,并且完全由数据驱动。

氛围图将消耗来自引擎、atmos 的输入并驱动 整个天气和季节堆栈、ToD 等具有技术艺术驱动的逻辑。

113


Slide 114

Slide 114

114


Slide 115

Slide 115

0 到 1 之间的值编码湿度,而 1 到 2 之间的值编码湿度 水坑因子。

红色物体(主要是角色)不会落入延迟湿度阴影中。人物 使用动态字符层系统。

115


Slide 116

Slide 116

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

116


Slide 117

Slide 117

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

117


Slide 118

Slide 118

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

118


Slide 119

Slide 119

点击接下来是延期的雪

就像迟来的雨一样。延迟降雪也会改变材料投入。

我们有冷区和暖区的概念,由静态/动态雪罩驱动。

119


Slide 120

Slide 120

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

120


Slide 121

Slide 121

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

121


Slide 122

Slide 122

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

122


Slide 123

Slide 123

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

123


Slide 124

Slide 124

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

124


Slide 125

Slide 125

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

125


Slide 126

Slide 126

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

126


Slide 127

Slide 127

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

127


Slide 128

Slide 128

UI 是自动生成的,并且可以实时编辑。

128


Slide 129

Slide 129

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

您可以在右侧看到一些示例。 GI 技术、发丝内存预算、 等等……

129


Slide 130

Slide 130

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

130


Slide 131

Slide 131

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

131


Slide 132

Slide 132

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

132


Slide 133

Slide 133

单击 还有另一个更底层的视图。我们输出一个包含非常详细的 SVG 我们的分配器的视图。

它对于检测内存浪费和查看内存别名模式非常有用。

133


Slide 134

Slide 134

📌 要点汇总

  • 数据库存储:用于保存构建数据,支持后续分析与追溯
  • 构建演变跟踪:通过存储记录实现构建

并存储在数据库中,以便我们可以跟踪构建的演变,比较它们,..

134


Slide 135

Slide 135

📌 要点汇总

  • PS5版本对比:通过比较两个PS5版本识别GPU时间回归问题
  • 动态分辨率热图:利用热图定位GPU性能最薄弱的环节
  • **元AI单元数量

在右上角,我比较了 2 个 ps5 版本以识别 GPU 时间回归

在左下角,我显示了动态分辨率因子的热图,以识别 GPU 最具挑战性的领域。

右下角是生成的元人工智能单元的数量。

任何东西都可以被跟踪并集成到我们的遥测中,这确实有助于发现 在如此大型的游戏中出现不良行为。

135


Slide 136

Slide 136

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

136


Slide 137

Slide 137

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

137


Slide 138

Slide 138

138


Slide 139

Slide 139

📌 要点汇总

  • 容错率低:大型游戏项目中任何错误都可能导致全地图资产修复。
  • 微多边形投入:持续增加资金用于微多边形技术以提升细节表现。
  • 几何数量增长:通过优化

对于这种规模的游戏,几乎没有犯错的余地——任何错误都可能意味着 重新审视并修复整个世界地图上的资产。

点击我们将在微多边形上投入越来越多的资金,并推动几何数量的增加 详细信息。

139


Slide 140

Slide 140

我们还明显低估了艺术家在我们的作品中使用的变通方法和黑客技术 BakedGI,尤其是在过场动画中。

而且支持更加复杂,因为我们有系统特定的错误。

点击未来游戏中的更多光线追踪将帮助我们简化我们的流程

140


Slide 141

Slide 141

📌 要点汇总

  • 升级器版本差异:不同升级器输出结果差异大,兼容性问题突出
  • 供应商框架复杂性:供应商特定框架显著增加代码

升级者不断快速发展,不断推出新版本。我们有具体的问题 与每个升级器。他们经常输出截然不同的结果。

供应商特定框架增加了代码复杂性。

我真的很喜欢 Microsoft DirectSR 抽象所有这些的承诺,但是

它在升级版本方面仍然落后。

而且没有 Framegen 支持,据我所知。

这两点是一个大问题,但我真的希望将来能解决这个问题。

点击考虑到这一切,我们认为是时候重新思考如何处理这种复杂性了 以及我们如何将其呈现给玩家。

141


Slide 142

Slide 142

点击 我们也肯定希望进一步推动框架模块化和定制化,

特别是在单一存储库和共享引擎的背景下。

142


Slide 143

Slide 143

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

143


Slide 144

Slide 144

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

144


Slide 145

Slide 145

📌 要点汇总

  • (无内容):此幻灯片无演讲内容

145