Announcement

Collapse
No announcement yet.

Vsync For OPENGL???????

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

  • Vsync For OPENGL???????

    Please somebody help me with this!!!

    Once again I will ask the wonderful people here in the forums if anyone knows how to ENABLE Vsync under OpenGl with my G400 and the new PD 5.41 drivers?
    I have posted this question many times but usually the only responses I get back are related to the directX Vsync in the Matrox Tweak Utility and various others as well.
    I have tried everything I can think of but have not been able to enable Vsync in opengl at all. Quake2 is tearing and driving me crazy!!! Also I have tried the gl_swapinterval commands in quake with no effect at all, as well as the sync every frame menu option in quake2. Absolutely nothing seems to have any effect on Vsync under opengl. My directX is fine and I know where to set that already.

    Thanks in advance,

    Ed

  • #2
    Nuno - thanks for the advise, I'll try Matrox Tweak.
    Sorry for the wrong word - I perhaps had to say "as good to play..." rather than "as fast...", and refer more to Quake 1/Hexen II etc at 640x480. In general, I still cannot get rid of that brightness issue in Quake 1, and screen tearing (I see it more in Quake II/Half-Life) spoils otherwise great visuals (I love 32 bit colours!).

    Andre

    Comment


    • #3
      Matrox cards even with V-synch off don´t do much tearing (S3 savages are a complete disaster with v-synch off).

      What resolution and refresh rate are you running at? I run with V-sync always disabled and I simply can´t see any noticeable tearing. Yes, maybe when you turn around very quickly, but I prefer it than the "stuttering" if V-synch is enabled.

      I play mostly at 960x720 or 1024x768 @ 85 hz, but even in half-life (1152x864 @ 75 hz) the tearing doesn´t bother me at all. A matter of personal taste, maybe?

      Comment


      • #4
        Thanks for the suggestions but as I said I have already tried the Matrox Tweak Utility and the Vsync control there is only for D3D. It does not have any effect on OpenGl at all.
        I hope it is not a function of the driver where we can't enable it at all, because mine tears so badly in quake2 I can't even play it at all.
        I know there must be some way to enable Vsync on the G400, I mean if we can send a man to the moon, we must be able to utilize Vsync on our Matrox cards......

        Omce again someome [lease help us..

        Regards,
        Ed

        Comment


        • #5
          Ed, you mentioned gl_swapinterval, but check out gl_ext_swapinterval. It is a OGL extension parameter and it´s 0 by default, even if gl_swapinterval is 1. Try changing it to 1.

          Comment


          • #6
            NUNO:

            Thanks for your tip but I tried it out very eagarly hoping it would work, but no luck. I tired it multiple times off and on again and again and still no Vsync under OpenGl.
            Why is it so hard with this card to enable Vsync?? I am watching my Sunday of quaking slowly disapear and I am feeling very sad now since I can't play for more than a few minutes without feeling sick If I don't find the answer soon, I may just have to try some dramamine pills...

            Ed

            Comment


            • #7
              OK...these all need to be there...

              "Flip on Vblank" enabled in Matrox Tweak (it must be matrox tweak...other overclockers and reg hacks only do D3D vsynch).
              AND
              set gl_ext_swapinterval "1"
              set gl_swapinterval "1"
              In your Q2 autoexec.cfg. These will also need to be in the autoexec of any mods outside of a regular DM (CTF, Lith, etc).

              Also delete your config.cfg(s), and let Q2 create a fresh one, to insure the settings take.
              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


              • #8
                Ok, I have tried out what you have suggested. I even reinstalled quake2 from scratch with brand spanking new cfg files. Guess what.. No change at all. Nothing changed at all with Vsync under OpenGl and the tearing is exactly the same. I was using the Matrox Tweak Utility. I would not use any of those 3rd party utilities on my card anyway and the Vsync setting there is only for D3D as well.

                Well I am starting to think some of the people who were saying that the Matrox Opengl ICD might not support Vsync at all are right. Anyway I fired off a tech support email to Matrox after my last attempts at getting it enabled failed this afternoon. I guess I will have to wait and see what Matrox tells me. Well thanks everyone for trying I do appreciate everybody's help and suggestions but I will swap out my G400 back out with my TNT2 Ultra until I hear back from Matrox so I can play Quake2 again.

                Thanks,
                Ed

                Comment


                • #9
                  Ed - I asked a similar question before, but I do not think the solution was found. I suppose (I might be entirely wrong here) that this is a function of the OpenGL driver, and it could be that, for the speed sake, there is no way you can enable synchronization in the Matrox ICD.
                  It was possible in Glide (I think the command was fx_glide_no_splash, or something similar), and Glide was pretty fast in OpenGL regardless the setting. I am still amazed that on my secondary system Voodoo 1 4 mb (the very first one) is almost as fast on P180 processor in Quake games (640x480) as my Matrox G400 32 Mb on PIII 450. Many old OpenGl games are Glide optimised!
                  Anyway, I would also very much like to hear from the forum any suggestions to improve OpenGl games appearance (I already improved Quake II brightness - many thanks to Kruzin!)
                  Andre

                  Comment


                  • #10
                    Try Matrox tweak utility, I remember someone saying the V-sync settings apply to D3D and Ogl.

                    Andre, c´mon, give me a break... where on earth did ever a voodoo1/P180 reach 70 fps average on a quake2 timedemo?

                    Comment


                    • #11
                      Just to clear things up about VSYNC:

                      Yes, there is a way to turn VSYNC off, but it is a little tricky. Hopefully we'll see something in Matrox's powerdesk soon to allow people to do it easily!

                      Be warned, this requires you to mess with your registry, so only do this if you are comfortable with the registry and hacking with your computer!

                      Traditionally, and according to the "swapinterval" OpenGL extension, applications (and games) must decide whether or not to use VSYNC. Unfortunately, many games choose incorrectly, so Matrox and many other companies force VSYNC off for performance reasons, probably because people running benchmarks are so ruthless and every fps counts!

                      There are two variables to consider: 1. Does VSYNC default to ON or OFF, and 2. Whether or not the ICD allows the app to change this.

                      According to the OpenGL spec, vendors should do the following:

                      1. VSYNC defaults to ON
                      2. Applications MAY change it.

                      By default, Matrox's ICD does not behave this way. Instead they do this:

                      1. VSYNC defaults to OFF
                      2. Applications MAY NOT change it.

                      But the good news is you can change this in the registry!

                      [Here is the good stuff]

                      The path for Windows NT/2000 is:

                      HKLM\SYSTEM\CurrentControlSet\Services\mga64\Devic e0

                      For Win95/98 it is:

                      HKLM\SOFTWARE\Matrox\Powerdesk\Current Settings

                      The key to control "1. Does VSYNC default to on or off", is User3D.SwapIntervalExtFlags To default to VSYNC ON, use DWORD value 1. To defualt to VSYNC OFF, use DWORD value 9.

                      The key to control "2. May the application or game change this", is User3D.SwapIntervalExtEnable To allow applications to choose VSYNC or no-VSYNC, set this to 1. To force it either on or off (depending on how you set the above flag), set this to 0.

                      If you want to enforce _correct_ OpenGL behaviour (unlike how the driver ships), use these settings:

                      User3D.SwapIntervalExtFlags = 1
                      User3D.SwapIntervalExtEnable = 1

                      Comment

                      Working...
                      X