Test: Setting CPU Affinity
DCS uses threads to execute its tasks, it’s those threads that are scheduled, by the operating system, to run on a core(s).
DCS has many threads but uses 3 threads for most of the work.
enabling hyperthreading just means the operating system can schedule more than one thread onto the same core. it’s useful if you are core limited and don’t have enough cores for the threads to use, but keep in mind a core can only do one thing at a time. if you schedule two threads into the same core, one of them has to wait for the other.
i am surprised you see better performance by limiting the cores (compute resources) you are allowed to use.