AudiokineticのコミュニティQ&AはWwiseやStrataのコミュニティ内でユーザ同士が質問・回答をし合うことができるフォーラムです。Audiokineticテクニカルサポートチームからの回答をご希望の場合は、必ず サポートチケットページ をご利用ください。

0 支持
I would like to set my own thread affinity for the various threads created by the Sound Engine. How can I achieve this?
Benoit S. (Audiokinetic) (16.0k ポイント) General Discussion

回答 1

0 支持
 
ベストアンサー

You can control the initialization settings for four threads created by the Sound Engine:

  • AkDeviceSettings.threadProperties controls the IO thread
  • AkPlatformInitSettings.threadLEngine controls the Audio thread
  • AkPlatformInitSettings.threadBankManager controls the Bank Managing thread
  • AkPlatformInitSettings.threadMonitor controls the Monitor thread

You can set the affinity mask in each of these four structures.

Benoit S. (Audiokinetic) (16.0k ポイント)
Documentation for this subject is a bit scarce, but as I understand it, the thread affinity is an unsigned int containing a bit mask, where bit #x correspond to CPU core x, and you specify which CPU cores you want to use by setting the corresponding bit.

For example, if you want to only run on core 0, you specify:

dwAffinityMask = (1 << 0);

And if you want your thread to run on cores 3-5, you specify:

dwAffinityMask = (1 << 3) | (1 << 4) | (1 << 5);
...