Slashdot Mirror


Quake3 to go SMP

schmack writes "Surfing the Id plans, John Carmack mentions he's working on SMP support for Quake 3. Although initially developed for NT, he says "it should definately make its way to the linux port...". Look for a speed up of 20% [worst case] to 80% in frame rate over a single CPU. This will mean "it will also be possible to build a reletively cheap SMP system (say, dual 400's) that outperforms the best single processor system." "

28 of 168 comments (clear)

  1. Re:Clarification... by Anonymous Coward · · Score: 2

    I love how people discuss making a truly multi-threaded game as if it's not much harder. In truth, coding a fully threaded game is INCREDIBLY difficult. You might be suprised to know that most games today are not threaded. It's hard enough as it is.

  2. BeOS by Anonymous Coward · · Score: 3

    In true /. style the "story" is incomplete: Carmack goes on to say "I know SMP is a que for all the BeOS folks to ask about ports, so I'm going to head that off: Be has all the code for Q3 (and Q2, for that matter), and a version of Q3test should be available by the time they ship a release OS with OpenGL hardware acceleration. "

    This release is due in the next 3-4 weeks BTW so hopefully a month from now we'll be playing SMP Quake 2&3 on BeOS. Apparently a basic quick and dirty Quake->BeOS port was done in 1 day, and the full port in a week. I don't know if this was a port to a UNIX-like single thread process or if it takes advantage of any of the BeOS features. However given the ease of use of the Be API im sure it will be relatively easy to at least divide the rendering into 2 or more threads to take advantage of SMP.

  3. What about OpenGL? by ShadowBlade · · Score: 2

    So then how do you explain why all the video card manufacturers are now coming out with OpenGL drivers? I'm sure it's not M$ pushing them to do it. Quite the contrary, M$ wants to push Direct3D. ID broke the ice with glquake, and ID's games and derivatives have had enough market share to get the video card manufacturer's attention. Add to that Carmack's donation to the Mesa project, and I'd say that one single game comany is making a change in the industry.

  4. Way cool... by YuppieScum · · Score: 3

    ...now that companies are starting to offer combos of Celeron 300a and 333 PPGAs, together with an MSI-6905 Slot 1 adapter card (that supports SMP) and absurd cooling - guaranteed to run at 450Mhz and 500Mhz respectively.

    Hands up who wants a 1000Mhz workstation for less than a grand?

    --
    This sig left unintentionally blank.
    1. Re:Way cool... by Alfthemack · · Score: 2

      Linux doesn't run any worse overclocked than Win95/98 (the crash standard). Linux will do an abrupt reboot if the processor is incorrectly overclocked. Win95/98 will hang or crash during boot. WinNT will give a BSOD before it gets to the log-in prompt. I know this because I had my Celeron333 improperly o'c to 500 before I saw the SharkyExtreme way of properly overclocking a Celeron. Now, I can watch full screen Quicktime 4.0 trailers without skipping. (Oh yeah, those new Linux kernels compile rather rapidly, too...)

      --
      --Al
    2. Re:Way cool... by Beuser · · Score: 2

      Really? Why would that be? Something to do with the adapters?

      I was running dual P2300s on an FX chipset until one cpu died, so I decided to upgrade to a BX board and give the PPGA with converter thing an option. 65$ for each PPGA (300a) about 120$ for adapters, cooling, and shipping (might not have been the best price, but seemed fair (www.computernerd.com)). I plugged the PPGAs into the adapters and booted up to make sure everything worked. It did. I shut down, jumpered the MB to 100mHz, rebooted and have been running dual 300a PPGAs at 450mHz for a couple of weeks now without any problems. CPU temp rarely gets above 30C and is usually 1-2C above the MB temp (although I'm not sure how the cpu temp is being measured, which goes to show that I'm no hardware guy!)

      All in all, I couldn't be happier. I guess if I got it done for less maybe... Only thing that would have made it easier would be for someone to come in and do it for me, but that's not as fun. :)

      --
      -just bein'
  5. nope! by Juju · · Score: 2

    I don't think so!

    I have a dual PPGA 300A Celeron running at 450 flawlessly...

    The only problem when going dual is that you have to use the lowest working frequence of your CPUs.

    So if you have 70% chances of getting your overclocked CPU to run at a given frequency, you will have only 49% to get a dual running at the same speed.

    --
    Black holes occur when God divides by zero.
  6. Re:Imagine what that will do for SMP system sales by Tet · · Score: 2
    that will be the breakthrough that will put SMP systems on every desktop.

    It's already there in large corporations. My last company was rolling out dual PIIs on every desktop throughout Europe (~4000 seats).

    --
    "The invisible and the non-existent look very much alike." -- Delos B. McKown
  7. Now we need 3-d support by tgd · · Score: 2

    I blew most of my morning getting the tatterd remains of a rarely-used Windows98 partition working again, just so I could play the Quake3 Test since there's such lousy 3-D support among hardware vendors under Linux.

    Does anyone know if there are any AGP video cards that have accelerated X-windows support and OpenGL support under Linux? It seems the Voodoo3 boards don't, and I'll be damned if I can find anyone who makes all-in-one Voodoo 2 cards that are confirmed to work under Linux.

    (I can say though, that I DO miss playing those quake-type games sometimes...) ;)

    1. Re:Now we need 3-d support by tgd · · Score: 2

      I've got three PCs running AGP cards just fine. AFAIK, AGP looks the same as PCI to Linux, only faster.

      Regardless, I've got one system with a Matrix Millenium G200 AGP running Linux, one with an ATI Mach 64 Rage AGP and my home system thats got an ATI Rage Pro.

      All three work beautifully in X.

    2. Re:Now we need 3-d support by tgd · · Score: 2

      Where do you see mention of GL support with the Voodoo3? The information on that site explicitly says X is supported with a beta server, but there is no 3-D support.

      Although this does seem to be the most promising possibility...

    3. Re:Now we need 3-d support by Dodger_ · · Score: 2

      > Does anyone know if there are any AGP video
      > cards that have accelerated X-windows support
      > and OpenGL support under Linux? It seems
      > the Voodoo3 boards don't,

      Umm, there IS support for Voodoo3 under Linux for both X-windows and Q3A. http://glide.xxedgexx.com has the goods. Daryll Strauss, the maintainer, just released a glide port for the V3 that the author says works with Q3A.

      Dodger_

      --
      Dodger_
    4. Re:Now we need 3-d support by AleT · · Score: 3

      There is now.

      Go back to http://glide.xxedgexx.com/status.html, the Banshee/V3 glide libs were released on May 16th.

      At the moment it is fullscreen only, i.e. no rendering into a window, but that is being worked on.

      If you compile Mesa, you get OpenGL support too, and then you can run Xscreensaver with all those GL hacks! :)

      Ale.

  8. Re:Beowulf Cluster Support by EngrBohn · · Score: 2

    Bohn's first rule for scalability. If you're worried about bottlenecking the master node, try not to have a master node -- decentralize the supervisor functions.
    I suppose you could try to set up a QuakeWorld server on a cluster. If you're going to think in terms of "objects," though, you might be better off using a shared-object library such as a CORBA implementation instead of an MPI implementation.
    I also think you'd be smart to be careful about how you distribute the "world" -- a static distribution would make poor use of the processors (consider the case where all players are in the same general part of the world). But you don't want to go overboard with dynamic distribution ... set some minimum grain to avoid conjesting the network. I think a single room would be the absolute minimum.
    Christopher A. Bohn

    --
    cb
    Oooh! What does this button do!?
  9. Beowulf Cluster Support by EngrBohn · · Score: 3

    (sigh)
    Not too likely. The degree of rewriting alone would probably kill such a project. That it would probably slow down execution would not make it terribly popular. I'm assuming you're talking about using the cluster for a single player. You could, of course, use the cluster for multiple players (one per node), which is already built-in to Quake ... but that wouldn't be using the cluster as a Beowulf.
    FWIW, we're putting together a long-overdue Beowulf FAQ that answers this and other questions.
    Christopher A. Bohn

    --
    cb
    Oooh! What does this button do!?
  10. This is a tad insane... by Psiren · · Score: 4

    Cool though it is... you have to wonder if its getting a little out of hand. Multiple processors for a game? How long before we make that leap of *needing* multiple processors, just as it now *needs* 3D acceleration. Scary...

    1. Re:This is a tad insane... by Sloppy · · Score: 3

      Well, you can always play the old games on the old hardware.

      Parallelism (and 3D processors are really just a specialized case of it) is seen by many to be "the final frontier" and the only other significant way to make computers faster. Everybody's known it for years, but the mainstream never got around to embracing it. So the computer dudes had to trick us into it, little by little. They started with simple things, like the Amiga's blitter, which made the computer seem a lot faster than it really was. Then DSPs got a bit popular for a while, and then 3D processors. Now we're at the logical conclusion for coprocessors, where the "coprocessors" are really just general-purpose processors, and they don't have to hide it anymore, since Id is doing it. If a mainstream company like Id is doing it, then the point-haired folks will finally accept it.

      It's not really any more scary than the "fact" that the games next year will require a faster machine than the one you have today.

      --
      As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
    2. Re:This is a tad insane... by Beuser · · Score: 3

      From my point of view the fact that SMP is not being used more is what's insane (and not just in games, I think it should be almost everywhere...I'm nuts, though, so take that with a grain of salt). You can make use of cheaper CPU's and get better performance (depending on what you're doing of course, but I hope you see my point). Since PC's are used for so many different tasks at once, why not divide up the work? Even if app developers don't want to worry about threads, if the OS is designed to do the juggling you can experience much of the benefit.

      --
      -just bein'
    3. Re:This is a tad insane... by AtariDatacenter · · Score: 2

      > needing* multiple processors, just as it now
      > *needs* 3D acceleration.

      Well, your 3d accelerator card IS another processor, just dedicated to graphics. Personally, I'm all for multiple processors. If I can load Linux on a Sun E4000 and use ten processors for the screen, one for the game logic, and one of everything else -- and get some sort of super-reality game, heck, sign me up!

    4. Re:This is a tad insane... by AtariDatacenter · · Score: 2

      > the *needing* of 3d acceleration can hardly
      > be scary.

      For games to 'jump to the next level', you need new hardware. Quake and what not wouldn't be Quake without the 3D cards. We'd all be stuck playing Master of Orion or something. :)

      If taking advantage of new technology allows for a breakthrough in gaming... be it quality, complexity, or a complete new genre, go for it. It will only 'require' new hardware to the extent that the new hardware makes the entire thing possible.

      [However, games that require mulitprocessors for apparently no reason should be SHOT.]

  11. Re:Q3 plays great on my machine by azonic · · Score: 2

    ok here it is..
    Voodoo 1 (voodoo graphics) is a 3d only card that works with an existing 2d video card to provid 3d hardware acceleration in glide and opengl (now)

    Voodoo 2 boards are also 3d only, and work in conjunction with an existing 2d video card.. these also are only avaiable in a pci card, however they support more ram then the origingal voodoo boards (8 or 12mb) and can be configured with 2 boards in an SLI (scan line interleave) mode (one board draws the even lines, the other the odd lines)

    Voodoo 3 is the latest product, its a single board solution 2d AND 3d .. available in a PCI or AGP format (no agp texturing though) and the 2d graphics processor has a 300mhz ramdac (I think)
    its available in 3 grades -
    The 2000 (pci or agp - 3d processor running at 143mhz)
    The 3000 (agp only - 3d @ 166 mhz I think)
    The 3500 (agp only, tv tuner - 3d @ 184mhz I think)

    They're pretty nice cards.. I just bought a pci version of the V3 2000 and I love it!


  12. I've got three PCs running AGP cards just fine. AFAIK, AGP looks the same as PCI to Linux, only faster.


    True. However, if I understand correctly, you won't be able to use system memory for texturing without explicit AGP support. This is one of the primary benefits of AGP (especially with cards that let you read triangle setup data from AGP memory; bus-limit bottlenecks just got a lot wider).


    I don't know what kind of support this requires OS-side, but the previous post implied that AGP chipset specs are needed. Certainly the OS needs to be able to lock and unlock sections of memory for use with AGP. The graphics-card side AGP support isn't a problem if you have proper specs for the card (though that's a big "if").

  13. For most apps, multithreading makes sense by Sloppy · · Score: 2

    It's a bit surprising that the app isn't multithreaded. I haven't played Quake 3, and I hear that it's all net-play (e.g. no AI opponents) but I would still expect that there's plenty of things to parallelize. I guess Carmack never bothered to deal with it -- but now he is!! Hooray!

    I guess multithreading would have made more sense back before 3D hardware was common and the CPU had to draw everything. I always though Wolf3D would really fly if only I had a CPU to raycast every pixel. ;-)

    This is actually extremely cool, as it should draw more attention to SMP systems. If SMP gets a bit more entranched, multithreaded apps will become the norm. :-) Seriously, "little" things like this are what causes long-term trends. The x86 would probably be a thing of the past if it weren't for Id Software's earlier titles. ;-P

    --
    As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
  14. Love ID Software by Skinka · · Score: 2

    They really do *everything* right.
    - Release the source of old games.
    - Port to Linux/Mac/BeOS/Irix.
    - Piss of Microsoft by using OpenGL. ;)
    - Make decent games.
    - And now, do SMP.

    Me like ID Software. Great people do great things.

  15. Imagine all this power! by Anonymous+Shepherd · · Score: 2

    So you grab and OC 2 Celery 300As to 450, pop in two PGP(?) linked Ultra TNT2s to further accelerate the system, a 3d PCI sound card to deal with all the sound effects and processing, and pop in Quake3Arena at 1600x1280 or something...

    *Should* be playable. Otherwise, just drop down to 1280x1024 or something =)

    Gosh, but this is so incredibly cool.


    -AS

    --

    -AS
    *Pikachu*
  16. Even worse: DISTRIBUTED.NET like processing... by AtariDatacenter · · Score: 2

    Even better would be a network type environment where you could install a client on other machines throughout the office and to suck their idle CPU time from their systems and turn it into a hyper-reality gaming experience for you. :)

    "Don't use your computer's idle time to search for aliens... use it to kill them!" -- Quake's new marketing line.

  17. Re:Makes $$$ sense by BrianMasney · · Score: 2

    You can't use the AMD processors in dual processor configurations. Intel uses a different interrupt controller (APIC) which lets them use multiple processor configurations.

  18. ... early last year, yes by hin · · Score: 2

    SMP functionality for quake iii:arena was alluded
    to over a year ago. you may want to look at the
    may 19, 1999 update at

    http://www.scs.ryerson.ca/~h2jang/trinity.html

    for further details. and, yes, Carmack did
    later mention some disappointment about the
    "marginal" improvment of an n-processor
    configuration over a single processor machine. but that was many months ago ... earlier in his research.

    =-hin->