<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    Hello everybody,<br>
    <br>
    I'm trying to switch on or off the vsync on my NVidia K4200 on Win7
    64 bits by using traits->vsync and setting the NVidia parameter
    to 'Use Application parameters" for the vsync.<br>
    <br>
    Setting vsync to true, works, I can see the OSG_INFO
    "GraphicsWindowWin32::setSyncToVBlank" as expected.<br>
    <br>
    The problem is I cannot set it to false, because by default the
    NVidia behaviour is vsync = true (i.e. if nothing is specified the
    drivers choice is vsync=true). <br>
    <br>
    After digging a little bit I've found in GraphicWindowWin32.cpp 
    GraphicsWindowWin32::realizeImplementation() that :<br>
    <ol>
      <li>vsync is only changed if it is true -> the
        setSyncToVBlank(bool) is only called if the traits->vsync is
        true, so you cannot change it to false.</li>
      <li>Removing the protection (if vsync equal true), the
        setSyncToVBlank is not called either because it is in an if
        condition depending on vsync equal true (if (_traits.valid()
        && (_traits->sharedContext.valid() ||
        _traits->vsync || _traits->swapGroupEnabled)))<br>
      </li>
    </ol>
    <p>The question is why is there this double protection on the vsync
      equal true ? Is there a risk that I don't understand (and then
      please can someone explain <span class="moz-smiley-s1"><span> :-)
        </span></span> ) about desactivating the vsync ?<br>
    </p>
    <p>Thanks a lot,<br>
    </p>
    <p>Christian<br>
    </p>
    <pre class="moz-signature" cols="72">-- 
SCHULTE Christian
Ingénieur Recherche
Responsable du Laboratoire de Simulation
ONERA - DCSD/PSEV
Département Commande des Systèmes et Dynamique du Vol
ONERA - Centre de Salon de Provence
BA 701
13661 SALON AIR Cedex - France
Tel :04.90.17.01.45</pre>
  </body>
</html>