mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-17 12:12:10 -04:00
don't set affinity to single CPU by default
This commit is contained in:
parent
88361cfc34
commit
38d262b7ba
@ -272,15 +272,21 @@ class ShowBase(DirectObject.DirectObject):
|
|||||||
# - client-cpu-affinity-mask config
|
# - client-cpu-affinity-mask config
|
||||||
# - pcalt-# (# is CPU number, 0-based)
|
# - pcalt-# (# is CPU number, 0-based)
|
||||||
# - client-cpu-affinity config
|
# - client-cpu-affinity config
|
||||||
|
# - auto-single-cpu-affinity config
|
||||||
affinityMask = self.config.GetInt('client-cpu-affinity-mask', -1)
|
affinityMask = self.config.GetInt('client-cpu-affinity-mask', -1)
|
||||||
if affinityMask != -1:
|
if affinityMask != -1:
|
||||||
TrueClock.getGlobalPtr().setCpuAffinity(affinityMask)
|
TrueClock.getGlobalPtr().setCpuAffinity(affinityMask)
|
||||||
else:
|
else:
|
||||||
|
# this is useful on machines that perform better with each process
|
||||||
|
# assigned to a single CPU
|
||||||
|
autoAffinity = self.config.GetBool('auto-single-cpu-affinity', 0)
|
||||||
affinity = None
|
affinity = None
|
||||||
if 'clientIndex' in __builtin__.__dict__:
|
if autoAffinity and ('clientIndex' in __builtin__.__dict__):
|
||||||
affinity = abs(int(__builtin__.clientIndex))
|
affinity = abs(int(__builtin__.clientIndex))
|
||||||
else:
|
else:
|
||||||
affinity = self.config.GetInt('client-cpu-affinity', -1)
|
affinity = self.config.GetInt('client-cpu-affinity', -1)
|
||||||
|
if (affinity in (None, -1)) and autoAffinity:
|
||||||
|
affinity = 0
|
||||||
if affinity not in (None, -1):
|
if affinity not in (None, -1):
|
||||||
# Windows XP supports a 32-bit affinity mask
|
# Windows XP supports a 32-bit affinity mask
|
||||||
TrueClock.getGlobalPtr().setCpuAffinity(1 << (affinity % 32))
|
TrueClock.getGlobalPtr().setCpuAffinity(1 << (affinity % 32))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user