Announcement

Collapse
No announcement yet.

What does TurboGL drivers do? (technical stuff)

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • What does TurboGL drivers do? (technical stuff)

    I am curious. What does TurboGL drivers exactly do in Quake 2 engines? I know they make the games faster, but I am confused what else is in them.

    I have a problem with my Matrox G400 32 MB (non-MAX) in Quake 2 and its related game engines (i.e. Soldier of Fortune) without TurboGL drivers. I get these annoying texture flickers and corruptions without them. When I install these drivers, they are gone.

    With Soldier of Fortune demo/full version, there is no TurboGL driver for this game. So, I have to play with these annoying texture flickers and corruptions. In fact, the train level (level 2) was bad! The sky got corrupted badly with a different image. I had to go to graphic options and hit apply to refresh the graphic in memory.

    Here is an example of a small text corruption and flickers (note: screen shot is blurry because of JPEG compression):


    Does anyone knows what these TurboGL drivers actually do technically? Any ideas on when the TurboGL driver will be released for SOF? I also noticed a few people have this problem. Why am I one of the people who have this problem? I am at a loss. Is there something in my BIOS I need to change? Other non-Quake2 game engines are fine. I look forward to hearing for replies.

    My system configuration if it helps:
    Award Modular BIOS (v4.51PG; Updated: 10/26/1999), Intel Pentium II 300 Mhz (DFI P2XBL motherboard revision A -- 440BX 100 Mhz bus tower, 128 MB of SDRAM (PC100), ATX Full Tower Case, 300W power supply, 2 ISA, 3 PCI, 1 AGP, 1 Shared PCI/ISA Slot, 2 USB ports, 512K L2 cache, IBM P72 17" monitor (6556), Matrox Millenium G400 32 MB DualHead, Creative Labs 3D Blaster (PCI, Voodoo 2, 3Dfx, 12 MB, using 3Dfx's lastest reference drivers), Creative Labs Sound Blaster Live! Platinum (not using LiveDrive), Toshiba DVD-ROM SD-M1212 6X/32X ATAPI/IDE CD-ROM drive, Plextor PleXWriter 4/2/20 CD-R/CD-RW PX-W4220T (SCSI), Diamond Fireport 40 PCI (SCSI-3), external USR 33600 Sportster Faxmodem (Model: 0413; Product Code: 000839-03), 6.4 GB Quantum Fireball EIDE (6.4EX-A) hard drive, 3.1 GB Western Digital Caviar EIDE hard drive, a 2-buttons Logitech mouse, 3Com Fast EtherLink XL 10/100 Mb TX Ethernet NIC (3C905B-TX), Microsoft Windows 98 (disabled Active Desktop), RedHat Linux v5.1, two regular computer fans (CPU and normal) aand 1 custom fan for 3Dfx card, and a HP DeskJet 560c printer. Running DirectX 7a and Yamaha Sondius XG SoftSynthesizer v1.0 for better MIDI in Windows 98.

    [This message has been edited by antdude (edited 18 April 2000).]
    Ant @ The Ant Farm (http://antfarm.ma.cx)

  • #2
    I doubt anyone could give you a complete answer here, but the general consensus around is: TurboGL is a minigl driver, written with performance in mind. A miniGL driver only has a reduced openGL implementation (only working with openGL calls made by the compatible games), so it´s easier to tweak these calls for performance, don´t having to worry about compatibility with a broad range of apps.
    TurboGl suposedly uses SIMD instructions (SSE for PIII, 3dnow! for K6-2 and extended 3dnow! for K7) within the code that higly speed up the triangle setup part of the rendering process.

    So TurboGl is made with performance in mind, not compatibility. There is no wonder why it doesn´t work properly with non supported games.

    Comment


    • #3
      Nuno: Correction -- TurboGL drivers do support Pentium II as well.
      Ant @ The Ant Farm (http://antfarm.ma.cx)

      Comment


      • #4
        Yup, and that means TurboGL is ideal for those Celeron equipped folks.

        Besides, only with TurboGL you can enable V-sync in OpenGL and get rid of this ugly tearing that sometimes happens with regular ICD.
        Someday, we'll look back on this, laugh nervously and change the subject.

        Comment


        • #5
          Of course TurboGL supports PII/celery, the point I was trying to make is that in that case, the speed increase could only come from code optimizations, not SIMD instructions, because PII/cel don´t have them. That just makes more impressive the performance gains with PII/cel TurboGL.

          Comment


          • #6
            P2 and Cel do have SIMD instructions: MMX!
            TGL uses this too.

            With regards to the original post, the standard ICD has severe problems with triangle throughput - which made for bad benchmarks at low resolutions - as you will no doubt have seen - as for high res the fill rate and bus width of the G400 comes into play so no benefit is gained from upping the triangle throughput - so if you use 1280x960x32 then you will notice no performance increase with TGL.

            Paul.
            Meet Jasmine.
            flickr.com/photos/pace3000

            Comment


            • #7
              Pace: I doubt TurboGl uses MMX. Remember people telling a MMX cpu wouldn´t even need a video acelerator? Didn´t you ever wonder why all hype around MMX never materialize? Here´s why: MMX is SIMD for integer calculations. 3D rendering is heavily FPU intensive in triangle calculations. Integer calculations are most used in the texture filling process, but that part is done by the video card. Because of the way MMX specs were designed, the cpu can´t use MMX and x87 instructions (the FPU unit) at the same time. The changing from MMX to x87 (or vice-versa) involves a cpu mode change that involves a severe performance hit if it would be used in that way.

              Hey, but just speculating here, I may be wrong, and the fact is that TurboGL (with MMX, without, SSE, 3dnow!) performance is highly respectable...

              Comment


              • #8
                While TurboGL is commonly reffered to as a MiniGL, in the strictest sense, it's not. What it really is is a "wrapper". It's not a wrapper like we are used to with the old G200 OGL-D3D wrapper, but it's a wrapper just the same. It's called this because it "wraps" around the OS drivers, and allows the games to make direct hardware calls without going through the OS drivers.

                When using the full ICD, the game makes an OGL call, which goes through the windows drivers (display and OGL), which makes the hardware call. When using TGL, the game makes that call, and the TGL "wrapper" makes the hardware call directly to the card, eliminating a step or two through the OS.

                There are also SIMD instructions built into the P3 TGL, and MMX/3dnow in the P2/celeron/AMD TGLs.

                [This message has been edited by Kruzin (edited 18 April 2000).]
                Core2 Duo E7500 2.93, Asus P5Q Pro Turbo, 4gig 1066 DDR2, 1gig Asus ENGTS250, SB X-Fi Gamer ,WD Caviar Black 1tb, Plextor PX-880SA, Dual Samsung 2494s

                Comment


                • #9
                  Someone forgot to "wrap" the calls that Soldier of Fortune makes.

                  Any idea if/when TurboGL will be adapted to Soldier of Fortune? The "disabling of the second head," thing is annoying.
                  The pessimist says: "The glass is half empty."
                  The optimist says: "The glass is half full."
                  The engineer says: "I put half of my water in a redundant glass."

                  Comment


                  • #10
                    "Because of the way MMX specs were designed, the cpu can´t use MMX and x87 instructions (the FPU unit) at the same time."

                    Now correct me if I am wrong, but I always thought this applied only to the first Intel processors with MMX (Pentium 166-233 MMX). From the Pentium II on, this problem has been corrected and people refer to this new MMX as MMX II.

                    Or not?
                    Someday, we'll look back on this, laugh nervously and change the subject.

                    Comment


                    • #11
                      Ruslan73: The lastest Matrox drivers (don't recall the number off my head) and the original Windows 98. I also don't run PowerDesk since it takes up my precious system resources [grin].
                      Ant @ The Ant Farm (http://antfarm.ma.cx)

                      Comment


                      • #12
                        Icestorm: Why did you have to disable the second head? I didn't have problems running SOF except the load crashes and texture flicker corruptions and problems.
                        Ant @ The Ant Farm (http://antfarm.ma.cx)

                        Comment


                        • #13
                          impact: AFAIK, the MMX specs are the same in PMMX, PII, PIII, K6/7 and so on... I remember reading about MMX II in early info about SSE - they would call it MMX II, then it was KNI, then finally SSE. I could be wrong though, and I`d apreciate any info on that.

                          Kruzin´s right, but I think the TurboGL is close to a miniGL implementation (as it does direct hardware call, so I think there is no "wrapping" involved" than the so called 3dfx miniGL - that was a wrapper, what it did was translating opengl calls to native glide.

                          [This message has been edited by Nuno (edited 18 April 2000).]

                          Comment


                          • #14
                            Yeah I remember people telling us that MMX makes my Voodoo useless! I played Pod and Quake2 on my P120 and Monster Voodoo at the time and laughed at my friends 166MMX

                            And about MMX2 that was the nickname for Intel's codename KNI - and we all know that SSE was the final name I had forgot about the problems jumping in and out of MMX' SIMD instructions but I think it was fixed in the 6th gen chips - I should hope so too!

                            Thanks for the info Kruzin - now I know why it hasn't been released for NT yet!

                            Paul.
                            Meet Jasmine.
                            flickr.com/photos/pace3000

                            Comment


                            • #15
                              Antdude-
                              Looking at that pic, what I see on the left is a lightmap error. I don't have SOF, but I do get that on rare occasion in HL/TFC. Dropping to the menu and re-entering the game usually clears it right up. If there is a way you can edit the games config file, you may be able to get rid of much it by turning off multi-texturing.

                              On the right, I can't quite tell what's going on...is it those 2 white pixels? If so, sometimes what happens is textures/surfaces don't match up exactly. A couple of things that might help are turning on 32-bit z-buffer in powerdesk, and again finding some game config options. In HL/TFC and Q2 there are commands to assign what is displayed behind textures, and how junctions are handled. (for example, HL uses gl_keepjunctions and others that don't come to mind at the moment). There is probably some SOF tweak site out there somewhere that can give you these variables....
                              Core2 Duo E7500 2.93, Asus P5Q Pro Turbo, 4gig 1066 DDR2, 1gig Asus ENGTS250, SB X-Fi Gamer ,WD Caviar Black 1tb, Plextor PX-880SA, Dual Samsung 2494s

                              Comment

                              Working...
                              X