多核打游戏反而更慢?谈CPU和游戏优化那点事( 四 )

3、调用的多核心跨CCX、跨CCD,延迟最大

例如一个游戏可以调用4个核心,最理想的情况自然是调用同一CCX内的4核,这样能获得最好的性能。但实际上,代码对多核心的调用不一定这么智能,很有可能不能辨认出哪些核心位于同一CCX上。于是,游戏可能会调用位于不同CCX、CCD的多个核心,产生的额外延迟导致性能有所损失。

知道了这些,就可以解释为什么有时候3900X的游戏表现有时候还要低于3700X了。3900X封装了两个CCD,每个CCD内有两个CCX,每个CCX有4核心,原生共4x2x2=16核心,屏蔽了4核心后得12核;而3700X则只有一个CCD,内含两个CCX,共4x2=8核。可见,3900X比3700X多了一个CCD,多了一种可能产生额外延迟的情况,如果游戏不能发挥出3900X的多核心优势,那么3900X表现略逊于3700X也就在情理之中了。

多核打游戏反而更慢?谈CPU和游戏优化那点事

图4/7

Windows 10 1903对Zen架构的优化之一,就是核心的调度逻辑,优先调用同一CCX内的核心

推荐阅读