Linux client multithreading?

Added by HadrianKross over 6 years ago

Is it available?

Have not poked around in any config files yet, but will do so if the option is available; otherwise, I'll seek a more OS oriented solution...


Replies (7)

RE: Linux client multithreading? - Added by Botanic over 6 years ago

What do you mean exactly?

Almost all games are single threaded on all platforms. I don't know if there are multiple threads but what are you doing that requires that much cpu?

RE: Linux client multithreading? - Added by kervala over 6 years ago

Ryzom is using at least 3 threads even if the main thread is doing the most of work :) It always has been compiled with multithread runtimes (-D_REENTRANT / -pthread under Linux or /MD under Windows).

RE: Linux client multithreading? - Added by Botanic over 6 years ago

What i meant was almost all games have a single thread that does 99% of the work :P

RE: Linux client multithreading? - Added by HadrianKross over 6 years ago

Ok, cool, so how do I get them to thread more evenly?
I'm seeing about 3-4 threads (ryzom_client's) when I play, but since 1 is around 100% (meaning one of my cores is around 60-80%) my cpu fan runs like crazy throughout the game...not to mention heat and power consumption.

Always thought even core distribution was better anyway...

I'll research an OS solution if necessary, but was hoping for a config/client option.

Thanks,
Hadrian

RE: Linux client multithreading? - Added by kervala over 6 years ago

You can decrease CPU use using "Sleep = <value>;" in client.cfg where <value> is a duration in ms saying to main thread to sleep after each frame :)

Example :

Sleep = 10; // will sleep main thread while 10 ms after a frame is displayed

RE: Linux client multithreading? - Added by HadrianKross over 6 years ago

Cool thanks.

--

Ok, I tried the cfg option and:
Still getting like 60%/3% (cpu0/cpu1)...
What would cause it to switch to another thread or core when the first is "sleeped"?

I'm assuming sleeping one thread "should" switch the load to another thread and then allow another cpu to pick up some load, assuming everything is configured correctly?

Thanks,
Hadrian

(1-7/7)