DauntlessAnsible DauntlessAnsible

Is there hope for multi-core processing

Is there hope for multi-core processing

or has it been fixed

At one point SINS would only use multiple processing cores for the initial load of some of the graphics (correct me if im wrong).

Is this still the case?  Is there any hope in pushing part the battle/movement calculations onto the second core?

Game speed on giant maps still progressively gets slower for me.  Doesn't really seem like a video issue...maybe Im wrong.

60,567 views 31 replies
Reply #26 Top

Wrong... a game have a lot of "job"... AI, 3D render, sound, human interface ( mouse, joystick, keyboard ), physx, etc.... once you have multitasking, you can make multithread software...
End of quote

Which are all part of one larger job. Hence splitting them down is much harder then running a second SQL statement on a seperate thread from a different database session...

Read the original post I made about how some of the issues may occur in Sins by doing multi-threaded...

Also

human interface doesn not need much time as the speed human respond vs the time a computer calculates something is so great that optimising that is probably a poor return on investment.

most sound processing is handed off to the soundcard

video processing is sent to the GPU

That leaves the AI and physics as the main resource hog - e.g. Supreme Commander needed to be multi-threaded due to the way it was written - everything was simulated...

Reply #27 Top

As promised I did a 1.5 hour logging of a single versus 5 AI player game for version 1.13. CPU utilization was sampled every 30 sec for all cores. I tend to zoom in and out a lot so zooming is factored into the numbers. FRAPS was running the entire time and the system maintained a 53-60 fps the entire time. Memory usage was very flat at about 55% of 4GB (28% for idle system) meaning the game was using ~1.1GB of memory. Here’s a brief summary table:

 

CPU1 Usage

CPU2 Usage

CPU3 Usage

CPU4 Usage

2 & 3 Average

Max

36%

76%

98%

56%

56%

Ave

3%

29%

35%

12%

32%

Min

0%

0%

1%

0%

15%

StDev

5%

20%

23%

9%

9%

 

CPU 2 & 3 carried the majority of the load with a starting average of 27% and rose to about 38%. Cpu 1 was hardly used and cpu 4 had low usage. At about 1 hour into the game for some reason cpu 2 and 3 traded loads, which is why I presented an average for 2 & 3. Out of the 188 measurements only two samples hit 98% on a single core with 8% of the samples exceeding 70% on any single core and finally only 11% of the samples showed any single core hitting over 50%.  

Some Conclusions:

1.       Multi-core support will provide little to no improvement for my 9850BE system.

2.       The contributing factors may be I have two 8800GTS 512MB cards in SLi, which may be assisting in the splitting of the load.

3.       The AMD Phenom 9850BE may be assisting in routing safe instructions to different cpus. My cpu is clocked at 2.7 GHz.

a.       A recommended 2.2 GHz multi-core would see averages of about 39% (~23% increase)

b.      The minimum listed single core P4 at 1.8 GHz will likely be too bogged down. Faster P4s in the 2.4-3.4 GHz with hyperthreading turned off will likely be at 75+% as an average and may be CPU bound in large fleet battles. For some reason the additional logical core doesn’t seem to get used.

4.       I’m running Vista64, which may aid in the splitting of the tasks.

 

Hope this info helps shed some light on this issue. I can also run tests on an older Q6600 if people are interested. It might shed some light on differences between Intel and AMD.  

Reply #28 Top

Well, Hyperthreading already came out years ago, 64 bit has been floating around, 2 cores isn't all that new.

 

I guessing that there is no way to treat 2 cores as one.

 

(On my comp, in the bios, I can make my 2 (1.8gbs) cores into one (dunno the speed, though).

 

 

Reply #29 Top

Quoting Tom, reply 2
At about 1 hour into the game for some reason cpu 2 and 3 traded loads, which is why I presented an average for 2 & 3.
End of Tom's quote

 

Great report Tom... have make some test too on my intel system :

- GFX : planet high, all the rest very High

- Huge mutlistar system with 9 AI, using the pre-release of 7DS ( huge mod ) and having 10 different race in game

- OS/Soft : Kubuntu, Wine, Opengl, Play-on-Linux

- Material : 2 quad core Xeon 2.66 ghz, 16 gb ddr2 serial ram 8 channel interleace in raid mode with ECC 8bits, Nvidia 8800 ultra 768 mb

 

About the graph below... first line is the 4 core from the first processor, second line is the 4 core from the second processor, the first graph from the last line is the processor global... one unit is 15 minutes... have test during around 1 hours...

 

 

The core that Sins use change always with time... in my case, it is a bios function of the Xeon... since i have choice to run the server board in silent mode, once a core become hot, it change of core in a automatic way...

Now one time, one core was used at 100% by sins... In the global graph, it is around 12% for sins... the little spike are mainly system application... 12%*8 make a max of 96%... ram used was almost 4.5 gb...

 

The first 15 minutes was used for build a huge fleet... the next 20 one for seek a ennemy... once i have destroy the fleet of two AI and take severak ennemy planet, CPU use have know a huge drop for a short time ( time needed for the AI and myself to rebuild fleet )...

 

Now, for my test, i have use the biggest map, the biggest GFX ( planet on veryhigh crash the game in some case, so i keep it on high only ), the maximum of player who is 10 ( 11 if you count the pirate ) and use the biggest mod who exist now ( almost 1gb in 7zip format !!! )... with all this, the maximum use of one core have not yet reach the 100%... My Cpu speed is a little slower that yours... but resultat are similar...

 

Conclusion are similar to you... a single core 2.8 or 3.0 ghz is enough ( need some power for the OS and other application running )... a dual core 2.6 ghz will be able to support the biggest map, with the best gfx, with the biggest mod and with the max of player...

 

Ram is a other problem... the biggest everything have go over the 6 gb use after 10 hours of game... First beta of Entrenchment have reach almost 11 gb ( reason was the mine spam on a huge map with 10 player, but from what i have read, the problem was resolved in the recent beta )...

 

I guessing that there is no way to treat 2 cores as one.

 

It is not really needed... some processor allow the implementations of hardware-assisted x86 virtualization ( Intel VT and/or AMD V ) in the bios... this along with VMware ESX server who don't need a host OS... The CPU virtualization increase the  server utilization without the risk of critical services being starved for CPU resources. VMware ESX uses intelligent process scheduling and load balancing across available processors to manage the execution of virtual machine processing.

 

But if needed, Vmware ESX have a 4-way Virtual SMP...  This enable a single virtual machine to use up to four physical processors simultaneously. VMware ESX extends this unique feature from two to four processors. With 4-way Virtual SMP even the most processor intensive software applications can be virtualized. From test, this work with multicore when core are not build on a single dye (  multiship modules ).... by example, my Xeon quad core are in reality 2 dual core... ESX find 4 processor with two core in my system... this allow me to use the 4-way system and emulate a processor at 10 ghz ( some power is used for the virtualization )...

 

PS : i am not sure that ESX will work on usual desktop computer !!! But server board with good graphic card and good sound card become ultimate game computer...

 

PS2 : My desktop computer is mainly used for 3D render ( i am freelancer 3D modeler ), using 4 independant 64 bits render engine reducing the render time from 1 night on my Pentium 4 3 ghz to 15 minutes on my actual machine... it is a professional use... the only game on it is "Sins of Solar Empire" because i have begin make model for mod a few month ago... and because "i am in love" with these game...

 

 

 

Reply #30 Top

Alright... so it IS multicore supported?

I'm in a late game vs 4 unfair AI's. 100+ planets. Playing Diplomacy.

System specs are:

Athlon 64 X2 6000+ 3ghz proc

9800 GT 1gb ddr3 gfx card

8192 MBytes DDR2 Dual Channel 800mhz 6400

I'm running a Striped RAID on Windows 7 Ultimate 64 bit

 

Tell me why my CPU is only showing 56% usage. o ___    O  ;

 

Reply #31 Top

i dont think they have changed multicore support.  initial objects are loaded on multiple cores but game processing still handled in a single core.  if you see handling on other processing cores its because the os is passing some of the work around.