Thread: Is AMD so bad?

Page 8 of 8 FirstFirst ...
6
7
8
  1. #141
    Brewmaster Majesticii's Avatar
    10+ Year Old Account
    Join Date
    Feb 2010
    Location
    Netherlands
    Posts
    1,414
    Can someone please make a stickie here explaining how multithreading and parallel/linear processes work (i cba atm). I'm seriously getting tired of people calling WoW's/SC2 engines outdated because their 3year old IPC zambezi processors run it poorly. You CANNOT multithread linear processes, other games just do not require such extensive calculations, but they are also far less complex as WoW. WoW's engine is probably the most tuned and streamlined out there when it comes to MMO engines. The engine has been overhauled so many times that nothing exists of the original code anymore.

  2. #142
    Brewmaster Majesticii's Avatar
    10+ Year Old Account
    Join Date
    Feb 2010
    Location
    Netherlands
    Posts
    1,414
    Yeah let me rephrase that statement you quoted. You can but you shouldn't, it would create as much issues as it would resolve.

    Interesting read though, thanks for taking the time to type that out.

  3. #143
    Not all linear processes are matrix manipulations. In fact, the primary matrix manipulation needed in gaming is graphics rendering. Guess what GPUs are specifically designed for?

    Linear processes that are difficult to optimize are related to synchronization and timing:

    1. Marine 55 attacks Zergling 34 at game time 345993 microseconds
    2. Zergling 34 attacks Marine 55 at time 345994 microseconds

    Action 1 has to be processed before Action 2. If Action 1 kills Zergling 34, then Action 2 never happens. It is extremely difficult to maintain synchronization if Action 1 is processed on Core 1 and Action 2 is processed on Core 2.

    Get the synchronization wrong and different people playing the same match will have different outputs on their screen. Remember back in SC1 when replays weren't the same each time it was viewed? Halo on PC and Counter Strike latency are examples of the importance of synchronization. Bad things happen when synchronization isn't controlled.

  4. #144
    Quote Originally Posted by evn View Post
    We've all seen "my heal went off" followed "tank dies" in the combat logs or seen those animation in video where somebody is clearly out of a fire but still dies to fire damage.
    That has more to do with Internet latency than CPU synchronization.

    Quote Originally Posted by evn View Post
    It seems like people are under the idea that your game's simulation is necessarily represented by what you do on screen: that need no be the case. You can decouple world rendering from simulation by pulling animation (and other things that impact 3D representation) out of code that handles simulation state (combat log parsing, AI decisions, networking, etc).
    World rendering has the lightest CPU impact of all (look at any FPS game).

    Whats the point of rendering the world 1000 times a second if the internal "simulation" is only updated 10 times a second? Rendering the same image 100 times is no better than rendering it once.

    Quote Originally Posted by evn View Post
    In games like warcraft with complex customizable user interfaces you can go further and separate that from the 3D world and then in the case of addons - you can decouple them from one another (there's no reason BigWig needs to exist int he same context as Recount). Such a system is more difficult to develop and forces clever interfaces between layers but it's well within the realm of what any competent programmer can do.
    This already happens.

  5. #145
    Quote Originally Posted by Majesticii View Post
    Can someone please make a stickie here explaining how multithreading and parallel/linear processes work (i cba atm)
    That won't really be possible, since it depends entirely on the problem to be solved. The gist of it would be that concurrency is great for some problems that lend themselves to it easily, but often times the problems associated with IPC, synchronization, and general bookkeeping get in the way so much that it's not beneficial enough to go that direction. Not to mention that any benefits associated with concurrency inevitably see diminishing returns, and no amount of optimization on one end can make up for bottlenecks somewhere else.

    Some high level description might be nice, but I can't think of a way that it would be both useful and understandable to people who haven't already studied the topic.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •