在下周进行的是 2016年游戏开发人员会议 在旧金山。 GDC一直是一个重要的节目,但近年来,它已经采取了甚至更大的作用,因为在GDC上宣布的宣布不仅仅是开发人员而言,但也是最终用户的影响。 GDC一直是PC硬件启动的背景,图形API启动等等。而GDC 2016承诺是相同的,因为在PC世界开发人员中,寻求接受DirectX 12,虚拟现实和其他新兴技术。

在下周之前’S Show,我有机会坐下来坐下来谈谈一个有趣的Trio Techies:Brian Langley,微软’S Directx 12 Lead,Max McMullen,Microsoft’S原理为Direct3d,Dan Baker,联合创始人和Guru Developer用于氧化物游戏。当然,微软当然希望进一步推动(和开发人员走向)DirectX 12的发展,因为第一个游戏出现了API。同时氧化物’奇点的灰烬 这里是一个常见的景象,虽然赢了’T声称第一个DX12游戏的标题–这就是技术上进入了新的Windows 10港口的战争–灰烬可以说是第一个采取有意义的API的游戏。结果在那里’很多令人兴奋,不仅在氧化物时灰烬,而且在微软领先于其 即将推移3月31日英石 launch.

有机会与频谱两侧的开发人员交谈–在氧化物的Microsoft和应用程序开发中的API开发–我想向收集的大师询问他们的经验,并在比赛中提出API并在游戏中实施它,他们的看法是更广泛的市场,开发商的回应是什么样的,以及什么’s在商店下次for directx 12.虽然简短的谈话中很少有大的狂欢,但由于它在7月份正式发货以来,它是如何扎根的一个有趣的观点。

Directx 12.采用& Stability

它没有’对于我们的谈话来达到谈论DirectX 12采用的谈话,无论是从发育的立场和最终用户的立场都能达到讨论。历史上讲,它已经为大多数比赛广泛采用的DirectX拍摄了多年。这的原因是多种多样的,但它’常常是慢速用户采用新iS的混合,在使用多平台标题时,开发商采用缓慢–开发人员倾向于坚持最符合您的游戏机的API - 以及DirectX和新硬件标准的新版本经常携手共进。

Directx 12.在这方面非常不同,这两者都是因为它在2012+硬件上运行,并且必要的操作系统升级是免费的。实际上自由可能在这里玩巨大的部分,因为面包师已提到氧化物’s seeing a “fairly strong uptake”新操作系统。供参考,蒸汽’s most recent 硬件调查 将Windows 10 64位采用占所有电机的34%,并具有次级1%的差距,它’这可能会使这个月跨越Windows 7 64比特。

最终用户的Windows 10相对快速地采用意味着开发人员可以又可以更快地制作自己的跨利赛,因为必要的批判质量比过去的几代更早到位。 Baker和Langley都同意DirectX 12可能会看到开发人员的速度比过去几代人更快地通过,因为用户群地建立了更快的建设。同样帮助问题是:控制台(特别是Xbox One)与DirectX 12具有它们所拥有的各自的低级API,这意味着开发人员可以比过去更容易地同步低级API周围的多平台标题一代控制台落后的地方。 API赢了’t由于内存管理等一些固有的平台差异(稍后更多),但微软希望将Windows和Console API视为合理的可能,以合理地帮助促进这一点。

微软为他们的部分当然对这个结果感到高兴,但即使在DirectX开发团队的领域内,他们也明确了他们’t尚未完成,并希望为最终用户和开发人员提供更多地推动DirectX 12,并说服熔断使跳转到Win10。现在DX12已经出局,他们一直在为开发人员提供更好的工具,使API更加平衡,更容易调试。与Microsoft ISN同时’具体而言,他们明确表示他们是 ’t Do do do do do do do do to the API,以及在那里修复错误’更愿意来用于DX12。

但是我在采用的谈话中最让我感到惊讶的是贝克’对DirectX 12的状态的评论。“DX12的形状远远超过DX11在第一代中;它's way further along,”贝克说,很多这一点与API的基本设计有关。因为DX12是低级别的并且相当薄,所以有什么虫子往往相当简单。 DirectX 11,相比之下,花掉了几年,甚至是Baker不起作用’T信任GPU驱动程序涉及DX11多线程。 DX12通过比较,通过奇点的灰烬向上处理16个线程,而不会遇到任何问题。这并不是说DX12已经是完美的,但DX12是在路径上快速处于更好的整体状态,比DX11更好,甚至超过6年后的后者。

来自微软’S的观点,Langley回声面包师’s陈述。与开发人员一起工作,Microsoft已经发现DX12通常是在大多数情况下为CPU性能的净获胜。只有在DX12中所享有的任何开发标题都会因游戏而异,但在所有这些情况下都有一个常见的线程是早期的游戏开发人员可以更好地实现它。在最后一刻添加DX12的游戏最少地受益–微软试图帮助开发人员将其迅速整合–虽然像灰烬一样迅速整合的游戏是看得到更大的好处。

我在两组扔的一个问题是DX12是否 ’缺乏抽象意味着开发人员正在接触到任何硬件错误。虽然已经有驱动程序错误,但微软的开发人员都没有与oxide一起工作,仍然遇到了值得注意的硬件错误。它仅仅给予开发人员需要花费多少手持DX11以适应实施差异,DX12的更严格的实施标准,即使在较低水平上工作的复杂性也使某种方式更容易。

最终不仅是DirectX 12可能比在它之前的任何版本的DirectX速度更快’s一个非常真实的可能性,DirectX 12将成为主要游戏(内部Microsoft项目之外)的API的基线版本,而不是与DirectX 11一样。但是使其明确表示它’贝克说氧化物,仅仅是桌面上的选择,尚未做出决定’下一场比赛可能会去DX12-独家,因为收养很强壮,这样做会给氧化物’开发人员实施他们可以的一些新渲染策略的自由’t在需要支持DX11和DX12的游戏中正确实施。同样,寻找在控制台和Windows之间的项目同步其项目的多平台开发人员将进一步激励DX12,如果意味着它们可以重用绝大多数现有的低级代码;在这种情况下,DX11路径意味着在单个平台上花费更多地支出渲染路径的努力。

为Directx 12开发

一直被一直重申关于DirectX 12和其他低级API的一点是它们’不适合胆小的心脏,有效地利用它需要更多的Guru级程序员,他们可以使用一个视频卡,没有DirectX 11和早期的API。虽然DirectX 11 ISN’去往任何地方,在我们的聊天中,微软表示他们希望帮助更多的开发人员跳跃。

其中的一部分将是提高DX12的工具情况,以便更好地为开发人员更好地了解与之合作的工具。虽然微软也是’这次是特定的–从这听到这一点,这是他们的GDC演示的一部分将是关于–Langley说:Directx集团“真的想参加[DX12]并拓宽它,并使其成为每个人用来做他们所有游戏开发的API。"对于许多开发人员来说,DirectX 12的道路仍然是通过从许可的引擎继承它,但对于那些那些去自己的路线的开发人员来说,微软希望让跳跃更痛苦。

即便如此,对于开发人员来说,它肯定是学习经历。有效地利用DX12需要更好地了解底层硬件,以及如何最好地治疗它。避免病理错误的案例是新开发人员的一个主要障碍,特别是那些没有的人’T在硬件上掌握了坚定的掌握。 DX12的低级性质意味着更多的控制优化将在开发人员手中–他们需要升级最佳结果的挑战–与视频卡驱动程序相反。

同样地,它 ’S也是司机开发人员的新世界,而驾驶员整体负责较少的优化过程,他们确实有自己的作用。驱动程序仍然负责曝光各种硬件队列和HLSL着色器编译,更不用说隐式模式DX12多适配器。所以驱动程序开发人员仍将是优化过程的一部分,但以不同于之前的方式。

同时在奇点的灰烬的情况下,氧化物是一个有趣的位置,既越来越好。作为第一个游戏,以广泛使用DX12’最强大的功能,游戏是其他游戏的探路者。另一端,因为这么多的眼睛都在游戏中,氧化物需要走一个有时狭窄的道路,以避免一个硬件供应商或另一个硬件供应商(或被视为这样做)。作为贝克笔记,因为PC是如此庞大且变化的平台“您永远无法为每个平台完美优化,因为它's too much work”与高度监管的游戏相比,所以相反,游戏的名称正在制作通用优化,并尽可能地常用。与此同时,公司也以其代码为单位透明,与所有GPU供应商共享,以便他们可以看到什么’s在罩下面,必要时给出反馈。

这一点意外的结果一直在于,作为贝克和其他氧化物机组人员需要了解更多关于GPU以更好地为DirectX编写而了解更多信息,他们还学习了一些帮助他们编写更高效的DX11渲染路径的东西。虽然DX11摘要从开发人员摘要,从广泛的角度来看,仍然存在一些算法和技术与现代硬件比其他技术更好地匹配,并且DX12强烈推动开发人员在自己的手中将效率提高到自己的手中,这会影响DX11发展也是如此。

记忆:一种独特的PC视角

虽然我们正在进行DirectX 12的主题,但内存管理问题提出来,与所有其他平台相比,PC情况如何仍然是独一无二的。该游戏机是固定的硬件设备,其中最近的生成在虚拟机管理程序内运行的游戏具有固定内存分配,因为只有一个游戏一次可以运行。开发商反过来唐’T获得所有8GB控制台优惠,但他们所做的就是他们可以依靠几乎整个时间。

另一方面的PC是一个非常不同的野兽。除了具有CPU和GPU的单独VRAM和系统DRAM池的显而易见的事项(对于具有离散GPU的系统),PC也是多任务环境。游戏aren.’T在管理程序中运行,他们可以’T.写入依靠接受对自己的特定记忆分配。这与视频卡中的DRAM的数量相同的事实相结合,对于大多数最近的卡片,显卡之间的频率频繁变化,所以开发人员可以’甚至依靠拥有他们想要使用的所有资源的GPU。

因此,DirectX 12下的内存管理仍然是一个挑战,尽管那是一个挑战’演变的演变。 DirectX 11内存管理通常是驱动程序问题,并且驱动程序通常会正确 –虽然贝克在我们的谈话中指出,但即使现在他们有时会在处理诸如内存碎片等问题时失败。另一方面,DX12将所有这一控制者提供给开发人员,这带来了强大的力量和责任。 PC开发人员需要关注内存过度使用的问题,以及如何优雅地处理它。 Mantle用户将熟悉这件事:如果内存过度使用,大多数地幔游戏都会慢慢爬行,这虽然比崩溃更好,但不一定是处理情况的最佳方式。

结果是’S仍为DX12开发人员的电路板仍然是一个学习过程。在开发灰烬中,氧化物已经开发了处理内存管理的新策略,尽管它已经花了一些时间来完成。然而,成功解决DX12内存管理也收获了自己的奖励:由于即使是自动化DX11式的内存管理并非没有其故障,则良好调整的DX12实现具有超过DX11的可能性,提供更好的性能和避免DX11’在过程中的错误。

虽然即使具有更好的工具,但这将始终是从低级API空间中的控制台分开PC的东西。正如微软在我们的呼叫中指出,他们的目标是将控制台和Windows DirectX API保持尽可能接近,但内存管理将是两个API仍然多样化的少数区域之一。

望向未来

虽然我们的大部分谈话都集中在现在,但Baker和DirectX团队也在展望DirectX 12的未来。我’先前提到了微软’S计划改进可用DX12可用的工具集,但工具只是等式的一部分。在一天结束时,DX12是一个非常强大的API,它’达到开发人员尽可能地利用它。

在氧化物中’S情况,灰烬在曲线上以几种方式领先。以及利用DX12’它更基本的多线程能力,它’S还推动了异步着色/计算和多GPU支持等功能的信封。事实上,DirectX团队和氧化物都非常感到惊讶,只有在这个早期阶段的工作情况有多好,贝克注意到来自AMD和NVIDIA GPU的图像质量比他预期的更接近。尽管灰烬’S独特的AFR多GPU支持是一种可能的实现,更广泛的开发社区也有他们的眼睛看着有意义地结合DGPU和IGPU的方法,因为几乎所有DGPU系统都有后者,它’目前未使用。

至于异步着色,灰烬’主要用于通过提高GPU利用来改善性能。然而,Baker认为这只是抓住了技术的表面,一旦DX12成为游戏的基线API,他想要调查更多的异国情调的用途。这包括GPU在更纯的计算任务上工作,例如在GPU而不是CPU上运行一阶物理模拟或游戏模拟的部分。这是一个’申请客户;在使用专用服务器的游戏中,服务器也可以是GPU加速,在纯GPGPU上下文中使用GPU来执行一些上述计算工作。

虽然暂时,但它可能是所有PC生态系统都可以做到的,以便尽可能地跟上DX12。虽然每场比赛都是独一无二的,但在灰烬中已经遇到了它们都是CPU存储带宽和CPU核心计数有限的情况。大部分事情都与游戏有关’昂贵的AI和仿真代码路径,但随着贝克骄傲地重述,灰烬’QA团队必须追踪一个更强大的多GPU测试系统,因为他们的四核系统仍然是CPU有限的。 DX12.’S低级性质将以某种方式降低CPU使用率,但它具有其多线程功能’S的其他方式将再次缩放,这可能非常好地推动其他游戏中传统的四核CPU的限制。

最终甚至是灰烬等探路游戏仍然将DX12视为一种更先进的图形API,它肯定收获了几种即时福利,而不是’这是API唯一的好处。正如我们’已经在某些情况下看到了其他低级API,如Apple’S METAL,这些类型的API是使用GPU作为一般计算处理器的路径,游戏开发人员甚至没有开始在那里划伤表面。一旦游戏开始使用DX12作为基准API,那么更多的选项可供制定用于打破传统图形渲染范例的开发人员使用。

包裹件事,请务必下周检查我们的GDC 2016覆盖范围。通过AMD,Crytek,Epic Games,Microsoft等的确认事件,它应该是PC游戏开发的另一个忙碌和有趣的一年。

发表评论

67评论

查看所有评论

  • jukens. - 2016年3月11日星期五 - 关联

    Directx 12.突出的墓地袭击者释放,让我们详细审查调查结果!我需要堆积vram for sli。 回复
  • fl - 2016年3月11日星期五 - 关联

    思想"stacked VRAM"基于误解。 DirectX 12没有'T神奇地允许您的视频卡相互访问'没有罚款的公羊。它允许开发人员独立访问两张卡的RAM,并在每张卡上存储不同的东西。有些事情仍然需要增加一倍,或者它将超载PCI-E接口,它必须由开发人员专门管理。 DirectX 12 ISN'神奇并实施它并不是'T立即给出游戏额外功能。 回复
  • jukens. - 2016年3月11日星期五 - 关联

    它不是我的误解,我知道它需要开发人员实现它,但并不是'它与异步计算携手并进?这是古墓丽影补丁博客的报价"另一个大功能,我们也在xbox one上使用,是异步计算。这使我们能够重新使用GPU电源,否则将浪费,并并行执行多个任务。" 回复
  • jukens. - 2016年3月11日星期五 - 关联

    或者也许我得到术语混合的异步计算功能与异步多GPU不同,以实现分割帧呈现? 回复
  • Tuxfool. - 2016年3月11日星期五 - 关联

    完全分开的东西。将Async视为您的GPU的SMT。 回复
  • jukens. - 2016年3月11日星期五 - 关联

    谢谢你清理上面 回复
  • alex00711 - 2017年4月30日星期日 - 关联

    显然是女士没有'如果vulcan,在积极的光线下提到了vulcan,这将是巨大的争论,这是一个很棒的'我猜对此是负面的。<a href="http://cracks4apk.com/directx-11-2-download-offlin... 11.2</a> is out now 回复
  • alex00711 - 2017年4月30日星期日 - 关联

    http://cracks4apk.com/directx-11-2-download-offlin... 回复
  • bcronce. - 2016年3月11日星期五 - 关联

    走更深。在异步计算机之前,您只能一次执行一个作业。如果给定的工作没有'T有足够的工作来制作整个GPU的起诉,那么你的GPU的一部分将保持闲置。 Tuxfool.'S类比是一个很好的。类似于CPU的SMT,异步计算允许在有空闲时间才能排队,调度程序将填充孔。

    原因它'S异步是因为旧方式纯粹是同步的。在确定的订单之后另一个工作。在这种情况下,异步只是手段"best effort"没有保证订单,通常是最大限度地提高吞吐量的最有效方法。

    当然,有方法可以保证订购甚至优先考虑,但总是以成本为代价吞吐量。年龄较低的低抖动或高吞吐量权衡。最大化一个人't意味着最小化另一个,但它确实限制了。
    回复
  • 汉斯穆夫 - 2016年3月11日星期五 - 关联

    It'如果您添加了一些关于vulkan如何适应整体技术明智的信息的信息,请非常伟大。 vulkan和dx12是否与OpenGL和DX11一起离婚? Devs更容易在同一游戏中解决两个API吗? 回复

登录

没有帐户? 立即注册