Duke4.net Forums: EDuke32 on Multi-core processor issue - Duke4.net Forums

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

EDuke32 on Multi-core processor issue  "Demonstration of the CPU affinity feature, and the resulting CPU usage"

User is offline   Replica 

#1

I have a dual-core CPU


But there is always some kind of stability problem on any processor that is a multi-core CPU.
This is how it's been for other games such as Freelancer and Unreal Tournament 1999 GOTY.


In this example I have provided 2 pictures of my Windows task manager performance tab, when running EDuke32.

The CPU graph is unstable as the lines are not straight with a usage of about 70% on CPU0 shown on the left side graph and 30% on CPU1 shown on the right side graph, resulting in a performance loss, and then when CPU affinity is set to only one core (CPU0 only here), the CPU graph becomes stable (straight line) with a stable CPU usage of 100% for the CPU0, and a CPU usage of nearly 0% for the CPU1. And also, in this 2nd case, since there's no performance loss, you've got more FPS than in the first case, for EDuke32, but also for many other programs and games, including DOSBox.

This picture is when running 2 CPU's at once. You can see how the lines are unstable and that it is like using 70% on CPU0 and like 30% on CPU1.


Posted Image


Then on this next screen shot the lines are stable and only showing on CPU0 at 100% and CPU 1 being 0%.
This is the result of setting the CPU affinity to only one core/CPU (CPU0 is this case)


Posted Image


I was also wondering if it's possible, when compiling an executable, to change an option, so that the resulting executable will only use one core/CPU, just like when using the "imagecfg" tool you can find on my web site http://www.multi-pla...e.com/cores.htm (i don't know the official web site of this tool, if there is any), to patch an executable to make it run using just one core/CPU.


Some effects I have witnessed are, sometimes it's not very noticeable when playing a game but things can happen such as faster speed issue runs faster or shaking of the screen and not being able to connect to a multi player game that sometimes can happen also. Some things always happen some are random.

This can happen on server software as well if they were running on more than a single core and using many CPU's one example of what happened to me was everyone playing on a game server of a different game suddenly got disconnected and timed out. The reason was because the server started acting bad and everyone lost their internet connection once the server started acting funny because it was running on a multi-core machine then began to make a huge denial of service attack on everyone that was connected at the time. You can imagine if some of these players are using static IP address's that they actually never got to get back online again for over a week until someone reset the server. The only way to solve that was to set affinity of server executable to run on 1 CPU.

Another example being xDuke on my machine at least if I was playing a netplay game for like 50 min I notice the game becomes extremely slow because my screen is slow and jumpy. If I immediately alt tabbed and set my affinity to just use 1 CPU then it immediately went all smooth again the game play and I didn't have the problem anymore. That's also why I patch my own xDuke now with imagecfg.


* - EDuke32 menu browsing is fast and sometimes game looks like it's running to fast I have also experienced the game going out of sync when testing with someone until I patched my game with imagecfg then it was in sync and we started to play.

* - The problem with Freelancer server when ran on my machine is that no one could connect to it until I made it use just 1 CPU.

* -The problem with my Unreal Tournament 1999 seemed to happen randomly the game would play to fast resulting in me walking faster.

* - The game Grand Theft Auto Vice City occasionally I would move to fast like I had a speed hack but it was because I had multi-core setting affinity to 1 CPU fixed that.

These are just some examples of what I have experienced on my machine.

This post has been edited by Replica: 04 April 2010 - 03:40 PM

0

User is offline   Plagman 

  • Former VP of Media Operations

#2

Sounds like you're using an OS that doesn't have the proper drivers for your CPU, meaning you have to download and install them manually to fix all these issues.
0

User is offline   Replica 

#3

For years I have been fighting with drivers and have tried them including hot fixes and the AMD optimizer it can improve things but it never did fix the problem completely and the AMD optimizer can actually make things worse for some games because it seems to add a new command in your boot.ini

Note: If you have an AMD dual core and installed the AMD drivers, the /usepmtimer would be inserted into your boot.ini for you.
Note: The /usepmtimer in the BOOT.ini is a "switch" that forces the system to use a steady clock in place of the CPU frequency... for certain timing functions. Thats as basic as you can explain it.


But infact some people have to remove it as it can cause problems.

Either way the AMD drivers add the affinity option and I still have to use the affinity or patch EXE for some games.

This has always really been the case if I want to run it 100% as I can ;-)
0

User is offline   Tea Monster 

  • Polymancer

#4

Especially for UT 99, it was written approx 5 years before multi-core processors hit the market.

Even today, if you check out the benchmarks with Toms Hardware or Anandtech, some modern software dosen't respond to having more than 1 core to operate with.
0

#5

Strange.

I am running a AMD Athlon II X4 620 and have no problems running this game.

The only time I find it necessary so far to set affinity to any games is Postal 2, Kingpin, and other games that don't have a FPS limiter and run as fast as a CPU Clock cycle does. But yeah, older games that are unmodified, in particular using the old Unreal or Quake engine, tend to only behave normally with 1 processor/core, otherwise it goes way too freaking fast.
0

User is offline   Franpa 

#6

The problem is with the Windows Task Scheduler. Pretty much every "single threaded program" I run will constantly jump between each core on my i7 processor ending with results similar to Posted Image. It will not utilize a 2nd CPU of any core (I have Hyper Threading which simulates 2 CPU's per core) which shows Windows is not completely dumb.
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic


All copyrights and trademarks not owned by Voidpoint, LLC are the sole property of their respective owners. Play Ion Fury! ;) © Voidpoint, LLC

Enter your sign in name and password


Sign in options