Hello, I want to create my own logic thread since OgreNext won't be the only renderer for my app.
My original idea was to thread pool based on the number of logic cores, and then have one thread use OgreNext to render. However, I noticed that even though I have not set up thread pooling, the program still printed out 16 exit-thread lines:
Code: Select all
The thread 6400 has exited with code 0 (0x0).
The thread 23632 has exited with code 0 (0x0).
The thread 8272 has exited with code 0 (0x0).
The thread 4996 has exited with code 0 (0x0).
The thread 18632 has exited with code 0 (0x0).
The thread 1600 has exited with code 0 (0x0).
The thread 6116 has exited with code 0 (0x0).
The thread 13820 has exited with code 0 (0x0).
The thread 18220 has exited with code 0 (0x0).
The thread 9140 has exited with code 0 (0x0).
The thread 24944 has exited with code 0 (0x0).
The thread 8068 has exited with code 0 (0x0).
The thread 7560 has exited with code 0 (0x0).
The thread 18684 has exited with code 0 (0x0).
The thread 14380 has exited with code 0 (0x0).
The program '[20492] game.exe' has exited with code 0 (0x0).
The number of threads doesn't match my number of cores (12) so OgreNext is probably not thread pooling. My assumtion is that some of these threads only handle 1 task, which normally lay dormant and only get activated sometimes (something like a resource loader, for example).
My questions are:
_What tasks are these threads doing?
_Is it possible these Ogre-threads will affect the performance of my external thread pool?
_If they do, can I control it some how, like putting some of these tasks into the same thread (for example, since my app does a loading screen instead of dynamically load resources during playtime, I can afford longer load time, which mean there's no need for an external thread for that).