PDA

View Full Version : Monitoring CPU usage and it doesn't seem to be multi-threaded



xman1
Oct 18 2011, 03:52
It looks like it uses one core to its max, but almost ignores the other cores. Are others seeing this?

-X

Liquidpinky
Oct 18 2011, 07:22
They use different cores for different things, like AI etc.
Still not a multithreaded game though.

MadDogX
Oct 18 2011, 07:26
They use different cores for different things, like AI etc.
Still not a multithreaded game though.
Contradict yourself much? :D

Sure it's multithreaded. For example as you already pointed out, AI runs in its own thread, then there is the geometry and texture streaming which also runs in a separate thread. This is multithreading.

I guess what you were really saying is that the renderer isn't multithreaded, which is correct.

Liquidpinky
Oct 18 2011, 07:37
Contradict yourself much? :D

Sure it's multithreaded. For example as you already pointed out, AI runs in its own thread, then there is the geometry and texture streaming which also runs in a separate thread. This is multithreading.

I guess what you were really saying is that the renderer isn't multithreaded, which is correct.

Lol, I stand corrected. :o

Maruk
Oct 18 2011, 13:19
To quote the lead engineer:


It is important not to lose the sights from the goal, which is the performance increase. All other things are secondary. One example of wrong metrics is a concurrency level. Concurrency level tells us how much are the additional cores used. This factor is very easy to measure (you can do it in default system task manager), and that is probably why many hard core end users and reviewers are interested about it. Often you can see phrases like "Game XXXX is using quad cores very well, because when you watch CPU usage in task manager, you see all cores are running 100 %". It is very easy to create a trivial program which will make "full use of all cores" - all you need to do it to spawn a few threads and make them spin in an infinite loop. Concurrency is not a goal, only a mean. It is required, but not sufficient. Real life scenarios are more intricated then idle loops, but the principle is the same: using CPU does not mean you get any benefit from using it. In many cases the overhead of going "threaded" is so high that even when two cores are running 100 %, the performance improvement is very small, say about 20 % from single core, and the difference between quad and dual is even smaller.

Source: Dev's Blog - Real Virtuality Going Multicore (http://www.bistudio.com/index.php/english/company/developers-blog/91-real-virtuality-going-multicore)

---------- Post added at 03:19 PM ---------- Previous post was at 03:17 PM ----------


Contradict yourself much? :D

Sure it's multithreaded. For example as you already pointed out, AI runs in its own thread, then there is the geometry and texture streaming which also runs in a separate thread. This is multithreading.

I guess what you were really saying is that the renderer isn't multithreaded, which is correct.

The renderer is also multithreaded... So no, it is not correct.

MadDogX
Oct 18 2011, 13:23
The renderer is also multithreaded... So no, it is not correct.
Oh... :D

Side note: has anyone else noticed that the easiest way to get info about a BIS game to simply make a statement about it, and then wait to see if one of the devs contradicts you? ;)

xman1
Oct 18 2011, 14:02
To quote the lead engineer:



Source: Dev's Blog - Real Virtuality Going Multicore (http://www.bistudio.com/index.php/english/company/developers-blog/91-real-virtuality-going-multicore)

---------- Post added at 03:19 PM ---------- Previous post was at 03:17 PM ----------



The renderer is also multithreaded... So no, it is not correct.

Good to know. Thanks for the info.

-X

JumpingHubert
Oct 19 2011, 12:46
this engine is able to make outstanding things: the more AI the lower the cpu-usage. Maybe its fixed maybe not :p