那么,这样做真的有必要吗?
另外,DX12还有一处跟关键的“硬伤”。
开发者表示,DX12的核心有两点,其一是提升多核CPU和多路GPU之间的渲染协作效率,其次异步计算。
其中,异步计算仅限于最新的GPU架构才能支持,而且还需要更多的针对性优化才能完美实现,这意味着一些老平台玩家将无法享受到DX12带来的画质增益。开发者的优化等于白搭。
同时,演讲者还对目前流行的多路GPU的显存堆叠可行性提出了质疑。这种方式简单来说就是将两个GPU的显存相加,形成一个更大的内存池,然后两颗GPU各取所需,通过分担计算来提升渲染效率。
演讲者表示,这中技术说起来简单,但做起来并不容易。首先,目前使用多路GPU的玩家数量非常有限;其次,想要实现AFR(交替帧渲染)还需在开发阶段要做更多的工作。
一般来说,AFR系统当中首先要将多个GPU划分出主从关系,次级的GPU要为主GPU准备用于交替的帧,这就要求不同GPU之间彼此都拥有一份对方的数据镜像。这就意味这每颗GPU需要从相邻GPU的显存当中寻找对应的数据,这样不仅成本高,而且更加费时。
演讲者还强调,无论是DX12还是Vulkan,新型的API都希望使驱动程序尽可能不受渲染管线数量的影响。
但事实上渲染管线在DX12和Vulkan当中所扮演的角色反而更加重要,因此驱动程序的开发往往会变得更加复杂,比如内存管理、启用异步计算底层技术支持、多路GPU支持以及显卡厂商有时所要求实现的某些特别性能增强项目等等。都增加了开发人员的负担,而且会导致驱动程序的不稳定,但获得性能提升往往却是非常有限的。
演讲者强调,开发者花费更多精力去追求DX12无可厚非,因为这将是未来图形领域发展的趋势,也势必成为主流。但毕竟目前DX12的用户基础还没有完全成熟,因此还是建议开发者将更多的精力放在如何制作出好的游戏内容,而非一味的追求最新技术。花费巨大精力去开发动辄几百兆的大驱动,只是为了获得多GPU支持,显然是不值得的。但这只是对PC来说,而对于硬件生态相对封闭的游戏机,当然是技术越新越好。
网友评论