From d82fefdab026b07417b0beef57d8fe8e3f1ad834 Mon Sep 17 00:00:00 2001 From: Darren Ranalli Date: Mon, 11 Feb 2008 22:13:13 +0000 Subject: [PATCH] set client CPU affinity based on pcalt index --- direct/src/showbase/ShowBase.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/direct/src/showbase/ShowBase.py b/direct/src/showbase/ShowBase.py index a49404d1b7..a53143aeca 100644 --- a/direct/src/showbase/ShowBase.py +++ b/direct/src/showbase/ShowBase.py @@ -279,12 +279,20 @@ class ShowBase(DirectObject.DirectObject): # Now we can make the TaskManager start using the new globalClock. taskMgr.globalClock = globalClock + # client CPU affinity is determined by, in order: + # - client-cpu-affinity-mask config + # - pcalt-# (# is CPU number, 0-based) + # - client-cpu-affinity config affinityMask = self.config.GetInt('client-cpu-affinity-mask', -1) if affinityMask != -1: TrueClock.getGlobalPtr().setCpuAffinity(affinityMask) else: - affinity = self.config.GetInt('client-cpu-affinity', -1) - if affinity != -1: + affinity = None + if 'clientIndex' in __builtin__.__dict__: + affinity = abs(int(__builtin__.clientIndex)) + else: + affinity = self.config.GetInt('client-cpu-affinity', -1) + if affinity not in (None, -1): TrueClock.getGlobalPtr().setCpuAffinity(1 << affinity) __builtin__.base = self