Skip to content
View in the app

A better way to browse. Learn more.

The AVSIM Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Good article on the difficulty of multi-core game programming

Featured Replies

  • Commercial Member
http://techreport.com/etc/2006q4/source-mu...re/index.x?pg=1Valve's struggle to implement a sound multi-core processing routing into their Source engine. This is one of the top 3D game teams in the world - it's not as easy as many here seem to think!

Ryan Maziarz
devteam.jpg

For fastest support, please submit a ticket at http://support.precisionmanuals.com

  • Replies 51
  • Views 4.2k
  • Created
  • Last Reply

Top Posters In This Topic

Interesting article. I always wondered how programmers were going to tackle multiple threads for multiple cores. You are indeed right, this stuff is not easy. Imagine going to school for 4 years to become a programmer and finding out everything you learned will not be applied because NOW you have to learn how to utilize multiple cores? Gaming is certainly changing, and I think that people that have experience with threading are going to become very rich in the next 3 to 4 years. Like the article said, there is no way programmers can focus on gameplay and coding if they are too busy threading properly.

You do realize that this will do little to assuage the anger that many have against the FSX programming team for not being able to perform miracles, right?! :)Thanks for the link - I'm starting the read right now... -Greg

Yeah, maybe your right. Maybe asking for decent framerates on a $3000 next-gen computer is asking too much.

Not to be rude, but tough...Seriously, I went through the same junk with FS9. I had JUST purchased a monster of a machine when I entered the military (with my bonus). A few months later FSX comes out and I can't play it worth beans. Sound familiar? Of course.EVERY FS launch has put computers to shame.

  • Author
  • Commercial Member

>Yeah, maybe your right. Maybe asking for decent framerates on>a $3000 next-gen computer is asking too much. I was referring specifically to the widely held belief here that making something use multi-core CPU's is somehow easy or trivial and that it's inconceivable that ACES could have trouble doing it or that the higher ups at Microsoft forced them to release without it or something... Whatever the other reasons for FSX's lower than par performance when compared to other modern games are, I'm not making any claims on those...Valve is a 100% independent company that creates and distributes it's own games, there are no higher ups or release schedules there and still here they are saying it's extremely difficult to do multi-core. This should convince people that it is in fact that hard lol! HL2/Source Engine has been around for 2 years now and they're just now starting to understand how to do this and produce any tangible gains from it.

Ryan Maziarz
devteam.jpg

For fastest support, please submit a ticket at http://support.precisionmanuals.com

Sound, of all things. There would be better uses, sound just seems easiest to implement in a separate core..."Great sound never sold a bad game." -- John CarmackRegards,http://www.bremmekamp.com/img/misc/avsim.jpg

Hi All:Yes multicore programming will be tough....but it can be done! ;-) Check out one of the first notable multicore programmed game demos (Alan Wake) running on a Core 2 Extreme "quad" core CPU from Intel.Interestingly, I did not see Microsoft's name associated with this title when I saw the first demo on youtube a few weeks ago; now it bears the Microsoft Game studios logo!:-hah Equally interesting, please note that the visual effects you are seeing here are reportedly all Dx9.0c... not DX10!see: http://www.youtube.com/watch?v=9OF9qoWKNbA&NRand: http://www.youtube.com/watch?v=1hBEMelrWP4Wow!!! Can you imagine FSX programmed for quadcore, using one core just for physics (like Alan Wake does!), and then running all these shaders through a good video card GPU? :-eek GaryGB

Way to spin an article Ryan,Yes programming for multi-core takes an investment in time and some effort by the programming team. None of the articles about the multi-core effort from Valve tell us how long ago they started programming and testing for multi-core. Half-Life 2: Episode One was released 1 june 2006 so maybe they started their effort after that release. See? I can also spin an article. No need for facts just make an assumption.Great news for their clients is the next tidbit:"You won't have to wait for Half-Life 3 to enjoy the benefits of Valve's multi-core efforts, though. Multi-core optimizations for Source will be included in the next engine update"So not only do they invest in giving their game engine full multi-core (and not just dual-core) support. They give this update for free to their existing customers. They don't even tell us we need DX10. They find multi core support "one of the most important issues to be solving as a game developer right now," Wow just as we started to believe that DX10 was important and would solve all our problems.We can only hope that Aces will follow this great lead from Valve. Let the DX10 politics lie and give us beter dual-core support. Already a significant part of the games market uses dual core machines (Thats why Valve finds it so important). This extra power can be unlocked without new unproven DX10 hardware that needs a new OS to work in the first place.

 

FSX is not a FPS game. The different engines like ATC, AI, Rendering, don't have to interact in real time. They are very independent of each other, and data sharing is usually one way which means read only and no or minimum synchonization of access required. As a matter of fact, if look at FS carefully, it is a much less complicated game then most of the moden FPS.On to the hardcore stuff."Valve's work management system features a main thread that uses a pool of N-1 worker threads where N is the number of processor cores available."This is called thread pooling. It has been used for ages in my industry."Valve now allows multiple threads to read the partition at the same time, but only one thread can access it to write."Did they just started playing with multithreading? This technic has been used since back in the 60s when the first multiuser machine became available."Particle systems also lend themselves well to hybrid threading. Although they're mostly a visual effect, particle systems actually tend not to be GPU-bound. They also tend not to interact with each other, making it possible to run independent particle systems on individual cores. In situations where there is only one particle system in the scene, that system can also be distributed across multiple cores. Having those extra cores available for particle processing allows Valve to create much more complex particle systems

HiPlease correct me If I am wrong,But did not Taildrager say that Ace's were working on duel core when FSX was relesed and that an update would be comeing out in the near future when the work was completed.RegardsRex

FSX uses more than one core already, but just way not effective. The architecture needs to change before you can see the kind of performance in the Allen Wake video.

>EVERY FS launch has put computers to shame.That is OK with me if I can see future hardware development will allow us run FSX well. However, this time around, it is not going to happen. The ball is still in ACES's hands.

Firstly I'll say - I do understand the frustration of people with multi-core processors, and even hyper threaded one's for that matter (I run FSX on a HT processor, and it uses 100% of the 1st 'virtual' proc and about 20% on the other - making max CPU load around 60-70% on average).Unfortunately, creating games to run on multiple cores/processors is very tricky, since the problem is that everything in games relies on every other thing. I'm a senior programmer, and do write systems that run on multiple processors, and that balance the load very well - but the difference is, my systems are easilly split into different processing units that don't need to interact - and there's the catch with games. Sure you can write the AI to run on one core, the graphics engne to run on another, the bit that updates the instruments and handles the flight model (say in FSX), but the catch is they interact, and since they are inherently dependant on each other, running them in seperate threads/processes gets difficult, because everytime one needs some information from the other, the particular thread requiring the information has to go into a wait state, thus halting it's processing until the other thread is ready. This is called contention (or at University what they called the class consumer-producer problem!). It's a real problem on real time systems, and requires some very smart programming to optimize it to reduce wait times on threads. Too many wait conditions would actually degrade performance! Games are a problem, since they inherently require everything to run togethor, that is update completely each program cycle (in other words, it's what we call a serial application).As any new technology comes out, it takes time for the software industry to catch up. When we went to dual multi-core processor servers at work, and 64-bit OS's for that matter, we had to do some rework, but it was easier in my case, just due to the nature of business and web applications which are already designed to run accross multiple servers to handle the work load of a big company!Okay - that was just my little insight to give a little idea on the complexities of this. That said - I fully do understand how frustrating it is when you have spent valuable $ on a high end machine with multi-cores/processors, I was initially annoyed that FSX didn't utilize my HT processer better, and with some work game programmers could work out how to split their processing better, and in time I believe it will come.

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.