您的位置首页>硬件>

Google Stadia端口问题在Linux内核调度程序上受到谴责

导读 如果有人比游戏玩家更关心毫秒级的延迟,那就是开发商。他们知道毫秒可以极大地改变游戏的玩法。对于Google Stadia来说,这是个坏消息,因

如果有人比游戏玩家更关心毫秒级的延迟,那就是开发商。他们知道毫秒可以极大地改变游戏的玩法。对于Google Stadia来说,这是个坏消息,因为开发人员最近宣称Linux内核调度程序存在问题,可能会导致移植到该平台的游戏出现问题。

名为Malte Skarupke的开发人员在周一公布了该问题。Skarupke解释说,他意识到这个问题,并努力解决它在的博客文章(呼喊出Phoronix为察觉后)。

这是Skarupke提供的高级概述,然后提供有关该问题的更多技术细节:

“在将Rage 2移植到Stadia时,我听到有人抱怨神秘货摊的事情。这些神秘货摊的唯一共同之处是它们都在使用自旋锁。我对此感到很好奇,因为我碰巧是写自旋锁的人问题是,在没有其他线程持有该自旋锁的时候,有一个线程花费了几毫秒的时间来尝试获取一个自旋锁。让我重复一遍:该自旋锁是可以自由获取的,但是一个线程却需要多个在视频游戏中,您必须每16ms或33ms(取决于您以60Hz或30Hz的频率运行)在屏幕上获取一张图片,而停顿时间超过一毫秒是非常糟糕的。如果您实际上是在拖延所有线程。”

Skarupke说,他花了几个月的时间研究这个问题,然后得出结论:“大多数互斥锁实现确实非常好,大多数自旋锁实现都很糟糕,Linux调度程序还可以,但远非理想。”他最终决定采用从自旋锁切换到互斥锁的创可贴解决方案。

Skarupke的博客文章中提供了更多信息,对于好奇在玩游戏时(特别是在Stadia之类的流媒体平台上)几毫秒的延迟可能产生多大差异的人来说,这本书值得一读,对于那些好奇的人来说,问题。希望它将来不再成为问题。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。