最全面、最前沿、最专业的游戏研发实战

提供最全面的游戏研发技能分享,让您在最短时间变成高级游戏工程师

查看:0|回复:3

【其他】Vulkan 、 WebGPU 、DX12 以及 Metal 哪个现代图形 api 设计的比较合理?

 attach_img

5

帖子

0

回复

4

积分
最后登录:
2025-03-25 21:10
注册时间:
2024-07-15 23:26
楼主
  发表于:2025-03-25 22:53:18|查看用户信息

Vulkan 、 WebGPU 、DX12 以及 Metal 哪个现代图形 api 设计的比较合理?

3

帖子

3

回复

4

积分
最后登录:
2025-03-25 21:35
注册时间:
2023-02-26 14:02
1 楼
  发表于:2025-03-25 22:54:09|查看用户信息

总的来说4者的设计理念应该都大差不差,DX12和Metal单独设计,vulkan感觉部分兼容了DX12、Metal设计,WebGPU为了全平台需要兼容三者的设计。(没记错的话好像MoltenVK到现在不支持稀疏纹理, 原因是更新粒度无法保持一致)。


易用性上,Metal最好用,压根不用考虑 descriptor set / root signature的问题,一上来也不需要你解决fence、barrier的问题,最多需要解决一下实现类似glBufferData在同帧内需要多次更新的问题。vulkan应该是最难用的,而且他在android平台上很多国产手机驱动真的难顶。


个人比较喜欢webgpu的设计,用vk和metal、DX12(直接用了MiniEngine的Core进行修改)实现他的时候感觉很舒服。另外看draft和讨论的时候也有不少收获。不过感觉真没必要再整一套shader语言出来。。。(我自己实现用了glsl)


最后吐槽一点,这些东西的ndc坐标、纹理坐标、xx坐标能统一一下么... 解决一致性真的恶心。


6

帖子

4

回复

6

积分
最后登录:
2025-03-25 21:54
注册时间:
2023-04-21 19:21
2 楼
  发表于:2025-03-25 22:54:33|查看用户信息

别的不说,Webgpu不是图形api,而是rhi。

8

帖子

4

回复

9

积分
最后登录:
2025-03-25 20:13
注册时间:
2023-11-14 09:53
3 楼
  发表于:2025-03-25 22:54:50|查看用户信息

DX12最合理,并且长期来看,DX12也是性能最高的。

共 1/1 页

0

帖子

0

回复

0

积分
最后登录:
1970-01-01 08:00
注册时间:
1970-01-01 08:00
会员必须登录才能发布帖子! 点击登录