Go Back   nV News Forums > Software Forums > Gaming Central

Newegg Daily Deals

Reply
 
Thread Tools
Old 01-29-05, 12:32 PM   #13
GlowStick
CoD4!
 
GlowStick's Avatar
 
Join Date: Feb 2003
Location: Florida
Posts: 5,786
Send a message via AIM to GlowStick
Default Re: Will the 1st dual cores choke current games?

Quote:
Originally Posted by Nutty
There does need to be a change in the way games are programmed to take advantage of multi-core technology. Unfortunately its not something that can easily be applied in a patch to existing games. It really needs designing to be a multi-threaded game from scratch really.

Been thinking about this a little recently, as the next set of consoles are also going to be multi-core. One in particular is having around 3 cores, each with HT type technology. There are 2 routes you can take, one is to create a very complicated scheduling system (Consoles dont have OS's to do this automatically), which sends out work packets to respective cores based on their current load. This means alot of thread switching tho, and is probably very complicated.

The other idea I had is to create X main threads to the game (Where X is the number of cores on the target platform). i.e. Renderer thread, physics + collision thread, and a game logic and audio thread in the case of the console with 3 cores. This allows each core to have their own work load without introducing the complexity of dynamically scheduling work across the cores. You still need to be very careful about how the threads access the same data for example. Suppose the game logic thread is updating the position of a player, while the collision thread tries the read the position after only having part of the X,Y,Z data updated. Chaos and crashes ensures. Typically this isn't an issue at all in single threaded games, its not hard to overcome by any means, but it is still extra architecture design that needs to be accounted for, and done very early on, or you'll have no end of bugs and problems.

I have no idea if this is a decent idea or not, aint even tested it.. But its quite likely something like this will need to be used in future games to get the benefit from multi-core processing systems.


I dont understand why this is listed as a problem. Of course the different threads/cores have to be synchronised each frame. But its still faster to split the processing across multiple cores, even if each core isn't max'd out, or 1 core is waiting on the other alot. It'll still be beneficial.
Hm, well defiantly your explination is better than mine, but i was basicly trying to say that with a single threaded game, its known when stuff will take place, if the OS decides to start doing something else that use its cpu time, they still stay in the same order but you just get a FPS hit. But with two threads it makes it hard to ensure that everything happens in the correct order.

But also, it really dosent look like new games with a elaborate physics system are stressing the cpu that much, because fps in hl2 are pritty good for all *decent* systems, i dont honestly belive that offloading the physics to antoher cpu would help that much.
__________________
Intel i7-2600K, Corsair 8Gig, Corsair H100, Corsair 650D, Corsair HX750, ATi 6970, WD Caviar Black 2TB
Sony Vaio SB: i7, 8Gig, Intel 320 300gig
GlowStick is offline   Reply With Quote
Old 01-29-05, 01:02 PM   #14
Nutty
Sittin in the Sun
 
Nutty's Avatar
 
Join Date: Jul 2002
Location: United Kingdom
Posts: 1,835
Send a message via MSN to Nutty
Default Re: Will the 1st dual cores choke current games?

Quote:
But also, it really dosent look like new games with a elaborate physics system are stressing the cpu that much, because fps in hl2 are pritty good for all *decent* systems, i dont honestly belive that offloading the physics to antoher cpu would help that much.
It might not help that much, but I'd also consider moving collision over with it. Also by doing so gives you more available power on the other core to do even better/nicer physics and collision.
Nutty is offline   Reply With Quote
Old 01-29-05, 03:56 PM   #15
LycosV
Registered User
 
LycosV's Avatar
 
Join Date: Jul 2003
Posts: 888
Default Re: Will the 1st dual cores choke current games?

Unfortunatly the only way to really use multiple processors is completly seperate threads with no sycronization between them required. In gaming there are only really a couple things that don't require immediate syncing with other parts: Graphics and sound. Both are already handled by off CPU parts (GPU and high-end sound cards). With everything else it is very important that the data be in sync. As good as it sounds, you can't just split physics calculations away to another processor. Those calculations activly effect other aspects of the game.

ex: Processor A is handling character movement, Processor B physics calcs. NOTE: This is a gross simplification, but you'll get the idea.
A (very heavy) object is falling towards the player's head.
Processor A's calculations are very simple: position = how fast can you move + direction. How fast you can move is a constant and direction is a simple value.
Processor B has a harder time: BoxPosition = gravity*mass-friction(air/water/whatever). Gravity is a constant, mass is based on the object, and friction is a function of surface area in contact with different substances.
Processor B can't calculate as fast as A, so it falls behind and the box misses his head, almost in a Matrix like slow motion effect.
If the entire thing had been on one processor (or sycronized/load balanced constantly between the two, which effectivly gives the speed of one processor) the player would not be alowed to move faster than the box can fall.

The bottom line is that games work best in a single processor environment because we're so paranoid about cheating and sycronization. Everything is dealt with in a key frame sense of time, at each tick of a clock everyone gets their turn. Two processors means two clocks, it's not possible to truly sync actions when you're got two stop watches.

The only possible application of more than one processor in games that I can see is for the AI. You could have a bot's AI dealt with on another processor to free up the main processor in a dedicated server kind of setup, but the increase in programming complexity would far outway the gain the company would ever get.
LycosV is offline   Reply With Quote
Old 01-29-05, 04:15 PM   #16
Nutty
Sittin in the Sun
 
Nutty's Avatar
 
Join Date: Jul 2002
Location: United Kingdom
Posts: 1,835
Send a message via MSN to Nutty
Default Re: Will the 1st dual cores choke current games?

Quote:
Processor B can't calculate as fast as A, so it falls behind and the box misses his head, almost in a Matrix like slow motion effect.
Why if its correctly time adjusted?

The problem of correctly synchronising things is exactly the same problem we have with online network games. If client A fires his gun, and has a very laggy network, you get the point where Client B has moved by the time it gets the collision event. You just have to build your system to handle out of order events.
Nutty is offline   Reply With Quote
Old 01-29-05, 04:50 PM   #17
Rakeesh
 
Rakeesh's Avatar
 
Join Date: Jun 2004
Location: Sonoran Desert
Posts: 6,873
Default Re: Will the 1st dual cores choke current games?

I think it probably can be done in the manner I described in a few posts back, because in that case the game is going to still be able to keep sync while offloading different tasks to different CPUs. I know for certain that something is going to be done to make several new games be able to work better with multi-cores within the next year. Case in point? Next gen consoles will have multiple cores.

Since microsoft is going to make the XNA API available on win as well, it wouldn't be particularly difficult for game developers to port these games to win, in fact it could even just be a simple recompile. How they would sort out the multi-core situtation in porting is difficult to say though.
__________________
Want to listen to audio without your computer going to sleep? Try this.

Core i7 2600k 4.4Ghz 1.385v | Corsair H60 | 8GB Corsair Vengeance 1600 8-8-8-24 | MSI P67A-G45 | OCZ Vertex 3 | Sapphire 7850 OC to Max settings

Rakeesh is offline   Reply With Quote
Old 01-30-05, 12:21 AM   #18
oldsk00l
 
oldsk00l's Avatar
 
Join Date: Apr 2003
Posts: 1,663
Default Re: Will the 1st dual cores choke current games?

Quote:
Originally Posted by LycosV
Unfortunatly the only way to really use multiple processors is completly seperate threads with no sycronization between them required. In gaming there are only really a couple things that don't require immediate syncing with other parts: Graphics and sound. Both are already handled by off CPU parts (GPU and high-end sound cards). With everything else it is very important that the data be in sync. As good as it sounds, you can't just split physics calculations away to another processor. Those calculations activly effect other aspects of the game.

ex: Processor A is handling character movement, Processor B physics calcs. NOTE: This is a gross simplification, but you'll get the idea.
A (very heavy) object is falling towards the player's head.
Processor A's calculations are very simple: position = how fast can you move + direction. How fast you can move is a constant and direction is a simple value.
Processor B has a harder time: BoxPosition = gravity*mass-friction(air/water/whatever). Gravity is a constant, mass is based on the object, and friction is a function of surface area in contact with different substances.
Processor B can't calculate as fast as A, so it falls behind and the box misses his head, almost in a Matrix like slow motion effect.
If the entire thing had been on one processor (or sycronized/load balanced constantly between the two, which effectivly gives the speed of one processor) the player would not be alowed to move faster than the box can fall.

The bottom line is that games work best in a single processor environment because we're so paranoid about cheating and sycronization. Everything is dealt with in a key frame sense of time, at each tick of a clock everyone gets their turn. Two processors means two clocks, it's not possible to truly sync actions when you're got two stop watches.

The only possible application of more than one processor in games that I can see is for the AI. You could have a bot's AI dealt with on another processor to free up the main processor in a dedicated server kind of setup, but the increase in programming complexity would far outway the gain the company would ever get.

That sounds so familiar, in a PS2-ish kind of way.
__________________
The Adama maneuver was incredible, go watch Exodus pt 2.
oldsk00l is offline   Reply With Quote
Old 01-30-05, 03:36 AM   #19
LycosV
Registered User
 
LycosV's Avatar
 
Join Date: Jul 2003
Posts: 888
Default Re: Will the 1st dual cores choke current games?

Quote:
Originally Posted by Nutty
Why if its correctly time adjusted?

The problem of correctly synchronising things is exactly the same problem we have with online network games. If client A fires his gun, and has a very laggy network, you get the point where Client B has moved by the time it gets the collision event. You just have to build your system to handle out of order events.
When sync problems happen in a multiplayer game, we curse the lag and move on (if it's bad to another server). If we were playing a single player, offline game and the characters/objects were poping about like lagged multiplayer games, we'd be pissed (At least I would ).
You are right that it's possible for the effects of unsynced events to occur after the fact (lag), but using my example again, I would rather the game ran slow than I make it past the falling box and retroactivly get squised by it later when it decides I didn't actually make it.
LycosV is offline   Reply With Quote
Old 01-30-05, 05:33 AM   #20
msxyz
Hybrid Microprocessor
 
msxyz's Avatar
 
Join Date: Jul 2004
Location: Milan (Italy)
Posts: 2,050
Default Re: Will the 1st dual cores choke current games?

Afraid games don't support multithreading ?

I still remeber people going freak for a dual Celeron 370 + Abit mobo setup back in the days when Carmack announced that Quake 3 would support SMP. The Unreal engine does that too. Games based on those engines are probably safe.
__________________
Powered by:
Pentium Dual E2180 (2GHz, 200MHz FSB)
Abit L95C (The one and only mATX with dual PCIe slots!) + 2x1 Geil Black Dragon PC6400
XFX 9600GSO 384MB
Little freak wonder
msxyz is offline   Reply With Quote

Old 01-30-05, 06:01 AM   #21
PaiN
Don't make me MAD!
 
PaiN's Avatar
 
Join Date: Jul 2002
Location: CT, USA
Posts: 2,111
Default Re: Will the 1st dual cores choke current games?

First....this turned out to be a really great and informative thread, I'm impressed with the level of knowledge you guys have.....
imo, games will not benefit in a multi-core system and its likely they take a performance hit, unless they are programmed from the ground up to take advange.
Years ago, I remember reading; "Intel loves gamers, because they keep pushing MHZ and its not for people running Office". I always thought this was strange...I guess we're about to see how untrue the statement was
__________________
Core i5 2500K @ 4.2ghz | EVGA Superclock M020 | Gigabyte Z68X-UD3H-B3 | 8gb G.Skill Ripjaws X PC1600 | EVGA GTX570 760/1950 | SB X-Fi Xtremegamer | PC Power & Cooling Silencer 610w PSU | (2) WD Black 640gb in RAID"0" | MSI SATA DVD-RW | Saitek Eclipse kb | Logi G5v2 mouse / Steelseries QcK | Antec P182 "Gunmetal" | Logitech 5300a THX 5.1 speakers | ASUS VW266H 25.5" LCD
-Windows7 64bit
PaiN is offline   Reply With Quote
Old 01-30-05, 09:36 AM   #22
Riptide
Registered User
 
Join Date: Oct 2002
Location: Billings, MT
Posts: 8,303
Default Re: Will the 1st dual cores choke current games?

Quote:
Originally Posted by Nutty
There does need to be a change in the way games are programmed to take advantage of multi-core technology. Unfortunately its not something that can easily be applied in a patch to existing games. It really needs designing to be a multi-threaded game from scratch really.
This is ofcourse a reason it's going to be a fail in the desktop market initially. Like any new feature... legacy software won't support it and only future programs will take advantage of it well. But at least it's coming eh?

Now what's this about AMD not releasing a desktop version initially, but Intel will? Anyone want to link me?
Riptide is offline   Reply With Quote
Old 01-30-05, 09:45 AM   #23
nvnews-reader
Registered User
 
nvnews-reader's Avatar
 
Join Date: Aug 2002
Posts: 333
Default Re: Will the 1st dual cores choke current games?

Games today won't benifit much from dual/multi core cpus. Since no one ownes dual processor systems today game developers haven't put any effort into supporting multi core cpus.

However games can be written to take advantage or multiple processors. If you have any doubts look at the specs on PS3/xbox2. Both are adding multiple cpus/cores to their machines.

My guess is that the first computer games to take advantage of dual cores will be out once the next gen games are ported to windows.
nvnews-reader is offline   Reply With Quote
Old 01-30-05, 09:48 AM   #24
nvnews-reader
Registered User
 
nvnews-reader's Avatar
 
Join Date: Aug 2002
Posts: 333
Default Re: Will the 1st dual cores choke current games?

Quote:
Originally Posted by Riptide
This is ofcourse a reason it's going to be a fail in the desktop market initially. Like any new feature... legacy software won't support it and only future programs will take advantage of it well. But at least it's coming eh?

Now what's this about AMD not releasing a desktop version initially, but Intel will? Anyone want to link me?
I think they are going to release Opterons and FX chips first. dual core 64s will come out in 06. Unless Intel starting killing them in desktop sales.
nvnews-reader is offline   Reply With Quote
Reply


Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


Similar Threads
Thread Thread Starter Forum Replies Last Post
IS there a way to make games work on the CURRENT RT? Caleb NVIDIA Windows Graphics Drivers 1 09-03-02 11:11 AM

All times are GMT -5. The time now is 07:42 PM.


Powered by vBulletin® Version 3.7.1
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Copyright 1998 - 2014, nV News.