Massassi Forums Logo

This is the static archive of the Massassi Forums. The forums are closed indefinitely. Thanks for all the memories!

You can also download Super Old Archived Message Boards from when Massassi first started.

"View" counts are as of the day the forums were archived, and will no longer increase.

ForumsDiscussion Forum → Multi-Cores and gaming
Multi-Cores and gaming
2009-11-24, 2:18 AM #1
Doing some processor shopping, currently running something very outdated.

I've read some places that multi-core processors don't do so well with older games (2003 and older), and that you have to run certain games on a single core. I've also read that no matter how you run the game, some games refuse to work at all.

Of course theres trolls and morons bickering back and forth on every tech forum about it being a hardware or operating system issue, so which is it?

Mostly all of the games I play are older games, I think the most current game I own is Quake 4, so this is very important to me before I make my purchase. I am most assuredly going to be running XP as my operating system no matter what.





(PS who else lol'd at the Mike Tomlin and Omar Epps comparasion in House tonight?)
"They're everywhere, the little harlots."
-Martyn
2009-11-24, 2:28 AM #2
I've only had one issue with an older game, and that was video / audio sync problems with Beyond Good & Evil. But I worked around it after messing with some BIOS settings. And the really older games I'm running through DOSbox, seems to work OK.
幻術
2009-11-24, 2:50 AM #3
If you want to play old games and run an old OS, why not pick up an old used system?

o.0
2009-11-24, 2:59 AM #4
Originally posted by Greenboy:
If you want to play old games and run an old OS, why not pick up an old used system?


Well if they aren't going to play well, then I will. If they are, then I might as well get something new.
"They're everywhere, the little harlots."
-Martyn
2009-11-24, 3:00 AM #5
There are two main hardware issues related to multi-core processors:

1.) The timestamp counters on AMD multicore processors are not synchronized, which causes timing issues with games that use RDTSC. Intel processors have a constant rate timestamp counter and do not suffer from this problem. If the game was properly written for Windows 95 it should work in either case (in XP with /usepmtimer), but many aren't.

2.) Uniprocessor systems guarantee instruction-level atomicity by definition. Like, for example, CMPXCHG (compare and exchange instruction) is often used for thread synchronization. It requires something in the area of 15 cycles. That means the other CPUs could do as much as 15 different things each in the meantime - like mucking around with the value you're trying to compare and exchange. The correct way of doing things is to use a lock instruction, but that has a high performance cost and wasn't even an issue back when these games were written so it was often omitted.
2009-11-24, 3:15 AM #6
Thanks Jon'C.
"They're everywhere, the little harlots."
-Martyn
2009-11-24, 3:17 AM #7
Trying to remember which game it was, I hit this issue with a game once too. Some hardcoded timing issue in a game that was no longer updated... but there usually patches or workarounds (manually setting processor affinity) which you can use to make this a non-issue.

You must love your old games, I would never even consider limiting my future gaming options by sticking with single core/XP.
My favorite JKDF2 h4x:
EAH XMAS v2
MANIPULATOR GUN
EAH SMOOTH SNIPER
2009-11-24, 3:21 AM #8
Oh, I forgot another hardware problem:

3.) Electrical engineers are a bunch of dicks. Even if you write plain assembly code a modern CPU isn't actually doing what you intended: instructions are converted into something like RISC (fine) and then reordered for optimal performance (not fine.) You have to use s/l/mfence if you're reading from or writing to shared memory so the processor remembers that it is actually not smarter than you are. You could be running absolutely perfect multithreaded code, but if it was written before the Pentium Pro/II came out you're pretty much ****ed because s/l/mfence didn't even exist.

I'm tempted to make another post for software issues but there are too many to list. Parallel computing is an active area of research in computer science and very few people can get it right.
2009-11-24, 6:45 AM #9
Get a dual core CPU no matter what you play. There's patches and workarounds for nearly everything (not that there's many affected in the first place!), and the added benefit of having system tasks offloaded to a second core while a game plays on the first is pretty large.
2009-11-24, 12:02 PM #10
Ah, alright. I've been looking at the E8600 since it came out. I think I'll grab that then.
"They're everywhere, the little harlots."
-Martyn
2009-11-24, 12:19 PM #11
Originally posted by Jon`C:
Oh, I forgot another hardware problem:

3.) Electrical engineers are a bunch of dicks. Even if you write plain assembly code a modern CPU isn't actually doing what you intended: instructions are converted into something like RISC (fine) and then reordered for optimal performance (not fine.) You have to use s/l/mfence if you're reading from or writing to shared memory so the processor remembers that it is actually not smarter than you are. You could be running absolutely perfect multithreaded code, but if it was written before the Pentium Pro/II came out you're pretty much ****ed because s/l/mfence didn't even exist.

I'm tempted to make another post for software issues but there are too many to list. Parallel computing is an active area of research in computer science and very few people can get it right.



Ha ha, that must make writing good multi-core compilers a pita.
2009-11-24, 12:21 PM #12
Originally posted by Obi_Kwiet:
Ha ha, that must make writing good multi-core compilers a pita.


Actually it makes no difference. Pretend the problem does not exist and provide lock/mfence intrinsics for the "edge cases" (i.e. everything on a modern computer.)
2009-11-24, 12:47 PM #13
Originally posted by Onimusha:
Ah, alright. I've been looking at the E8600 since it came out. I think I'll grab that then.


Get an E8400 and OC it to E8600 or above speeds
一个大西瓜
2009-11-24, 1:12 PM #14
Even if some games have a problem, you can try running a virtual machine which emulates a single core, and the game should run under that no problem.

Of course you'll need graphics hardware accel (all of the main products support this at least experimentally) and a processor that supports hardware virtualization (all the modern ones do) for playable results.

2009-11-24, 2:01 PM #15
Originally posted by Jon`C:
Oh, I forgot another hardware problem:

3.) Electrical engineers are a bunch of dicks.

I know some electrical engineers and this is true. I've met a few EEs that are completely oblivious to software as well, and literally have the attitude, "Just write everything in assembly, it's faster that way. I've never seen a program that wasn't easier to write in assembly." :downswords:

But anyway, aren't the issues solved by just running the application with affinity fixed to one processor?
Bassoon, n. A brazen instrument into which a fool blows out his brains.
2009-11-24, 2:27 PM #16
Yes. There are even tools you can use to embed a manifest into your old exes so they have single processor affinity by default.
2009-11-24, 3:17 PM #17
Originally posted by The Mega-ZZTer:
Even if some games have a problem, you can try running a virtual machine which emulates a single core, and the game should run under that no problem.

Of course you'll need graphics hardware accel (all of the main products support this at least experimentally) and a processor that supports hardware virtualization (all the modern ones do) for playable results.

Has anyone actually gotten games to work decently in a vm? I have been using vmware in various forms for the past 5 years and I've yet to get any game to work decently.
2009-11-24, 3:54 PM #18
A VM with full 3D accel support that can truly emulate a win98 machine for games would be GOD.
2009-11-24, 3:58 PM #19
Why? The instruction set hasn't changed. You should be able to fix most anything with wrappers. (Like JK)

I don't really understand why they implemented Dosbox the way they did either. It's a x86 emulator.
2009-11-24, 4:11 PM #20
Better control over scaling the speed?

Also Jon, there are some corner cases where it's just damn hard to get old, 3D accelerated games working outside of Win 9x. In that case a VM may just be easier. VMware Workstation has good Direct3D and (I think) OpenGL support. It runs JK just fine. VirtualBox has OpenGL and experimental Direct3D support as well.
Bassoon, n. A brazen instrument into which a fool blows out his brains.
2009-11-24, 9:23 PM #21
Quote:
You must love your old games, I would never even consider limiting my future gaming options by sticking with single core/XP.


I do.

Most of the games I play are for sentimental reason or just because they're that great. I don't have much interest in the modern games they're coming out with besides Old Republic. They're all pretty run of the mill generic, or just terrible PC ports.

What is going to suck is that I will have to play JK on an older computer no matter what because I intend to purchase a Radeon 4890.
"They're everywhere, the little harlots."
-Martyn
2009-11-24, 9:47 PM #22
Are you living under a rock? There's a Direct3D wrapper that fixes all the problems with JK. You can use any modern card with JK now.
Bassoon, n. A brazen instrument into which a fool blows out his brains.
2009-11-24, 9:49 PM #23
And using that it works fantasticly on my 5770.
By the way, why does it look better on my 5770 then an 8800GT?
2009-11-24, 11:04 PM #24
How so Tibby?
2009-11-24, 11:34 PM #25
Originally posted by Emon:
Are you living under a rock? There's a Direct3D wrapper that fixes all the problems with JK. You can use any modern card with JK now.


Oh, I guess I wasn't paying attention. I don't have a modern video card so all of that never applied to me. Sorry.
"They're everywhere, the little harlots."
-Martyn
2009-11-25, 9:28 AM #26
Originally posted by Onimusha:
I don't have much interest in the modern games they're coming out with besides Old Republic. They're all pretty run of the mill generic, or just terrible PC ports.


lul
2009-11-25, 11:08 AM #27
No lul, its true.
"They're everywhere, the little harlots."
-Martyn
2009-11-25, 11:17 AM #28
Games of today are generic. Games of yesteryear were also generic. All games are generic.
SnailIracing:n(500tpostshpereline)pants
-----------------------------@%
2009-11-25, 11:52 AM #29
Originally posted by Onimusha:
(PS who else lol'd at the Mike Tomlin and Omar Epps comparasion in House tonight?)


i lol'd
If you think the waiters are rude, you should see the manager.
2009-11-26, 6:10 PM #30
Originally posted by Emon:
Are you living under a rock? There's a Direct3D wrapper that fixes all the problems with JK. You can use any modern card with JK now.
Holy cannoli! Link please.
"When it's time for this planet to die, you'll understand that you know absolutely nothing." — Bugenhagen
2009-11-26, 8:12 PM #31
Have fun. The one you want is "ddraw_(hack_viewport3_clear2).zip", at the very top of the list.

http://www.jkhub.net/project/show.php?projid=47§ion=downloads

Just pop it into your JK directory.
2009-11-27, 12:12 PM #32
Would any of you reccomend the ati 5000 series of cards? They seem to be a midrange affordable card but I've read some complaints on their drivers getting along with windows 7.
"They're everywhere, the little harlots."
-Martyn
2009-11-27, 12:58 PM #33
5850
一个大西瓜
2009-11-27, 3:22 PM #34
I was actually looking at this:
http://www.newegg.com/Product/Product.aspx?Item=N82E16814102859

5850 is out of my price range.
"They're everywhere, the little harlots."
-Martyn
2009-11-27, 5:49 PM #35
5750 is outperformed by 4870 (which is same price range), so it depends on whether you value DX11 support, EyeFinity, newer tech, and all the other new features in the 5xxx series over better raw performance. I personally would go for the 4870.
一个大西瓜
2009-11-27, 6:06 PM #36
I got a 5770, I love it for the cost (160$).
2009-11-27, 9:04 PM #37
Originally posted by Pommy:
5750 is outperformed by 4870 (which is same price range), so it depends on whether you value DX11 support, EyeFinity, newer tech, and all the other new features in the 5xxx series over better raw performance. I personally would go for the 4870.


Ah, ok I will keep that in mind. Thanks.
"They're everywhere, the little harlots."
-Martyn

↑ Up to the top!