L4D2在Ubuntu上的运行速度比Windows7快20%

互联网2020-04-23 16:35:20
导读 随着Steam在Linux上登陆的到来,Windows与Linux之间的比较将成为必然。虽然Valve将Steam移植给Linux粉丝的努力仍在进行中,但一些旁观者可能会对目前的结果感到惊讶:在ubuntu (OpenG
音频解说

随着Steam在Linux上登陆的到来,Windows与Linux之间的比较将成为必然。虽然Valve将Steam移植给Linux粉丝的努力仍在进行中,但一些旁观者可能会对目前的结果感到惊讶:在ubuntu (OpenGL)中,Left 4 Dead 2的运行速度比在Windows 7 (DirectX)中快20%。在Direct3D模式下,L4D2在Windows上达到了270.6 FPS,而Ubuntu则达到了315 FPS。

现在,在读者开始赞扬和批评Valve的发现之前,让我们先来考虑一下细节。

首先,这里是Valve的测试台规格:英特尔酷睿i7 3930k, 32GB内存和Nvidia GeForce GTX 680。Linux测试平台运行Ubuntu 12.04(32位),而Windows依赖于Windows 7 SP1(64位)。有趣的是,这是一款非常高端的游戏硬件(2009年发布),但可能不会对结果产生任何负面影响。

在内部测试期间,Valve声称与Linux和OpenGL合作实际上帮助开发人员提高了L4D2在Windows下的OpenGL性能。虽然Ubuntu仍然保持着它的优势,但是经过一些修改之后,程序员可以在Windows下使用OpenGL压缩303.4 FPS。虽然我们只能在这种情况下做出判断,但开放图形标准在Windows上的实际执行速度比微软自己的图形API要快。令人着迷。

为Valve的游戏提供动力的引擎Source在Windows上已经成熟了整整10年,而未完成的Linux移植只存在了几个月,因此OpenGL所提供的令人满意的性能似乎不太可能。因此,一个尖锐的问题是:为什么Linux上的速度更快?

首先,开发人员对Linux内核的效率给予了支持。Valve也对OpenGL大加赞赏,称他们的分析显示Direct3D的开销略高。该公司还将其强大的驱动程序和标准作者的关系,谁也帮助优化了Linux上的L4D2。

这种体验引出了一个问题:为什么我们的游戏的OpenGL版本在Windows 7上运行得比Direct3D快?这似乎与多任务开销无关。我们已经做了一些相当接近的分析,它归结为Direct3D中每个批处理额外的几微秒开销,这并不影响Windows上的OpenGL。现在我们知道了硬件能够提供更好的性能,我们将回去研究如何在Direct3D下减轻这种影响。”

“第三类尤其有趣,因为它涉及到与硬件制造商合作,以识别其驱动程序中的问题,并因此改进公共驱动程序,这将使所有游戏受益。识别驱动程序档位和在驱动程序中添加多线程支持是这一团队协作的结果。”

考虑到以上几点,我确实认为有一些项目需要考虑,特别是Valve的博客文章似乎没有充实的部分。

据推测,只有最新的(和专有的)驱动程序将被用作Windows和Linux测试的基础,但我们并不清楚这一点。此外,L4D2运行在Windows下的DX9上——一个早于2003年的图形API。不幸的是,这篇博客文章也没有提到OpenGL版本L4D2正在使用什么。例如,较新的OpenGL实现实际上可能具有固有的性能优势,这似乎是很自然的。毕竟,OpenGL努力保持与以前的版本(和旧的硬件)的向后兼容性,这使得L4D2很可能使用一个更近的实现。

也没有关于视觉逼真度的讨论。即使是视觉质量上的微小差异也能带来20%的性能提升,就像Nvidia和ATI过去在基准测试中“作弊”所显示的那样。

尽管存在一些合理的怀疑,但是很高兴看到Valve在Linux平台上取得进展,并且很高兴看到它在项目进展过程中不断吸取经验教训。就我个人而言,我很期待Steam在Linux上的应用,尽管其他人可能没有我这么热情。

免责声明:本文由用户上传,如有侵权请联系删除!