 
 
         This test is to determine
the  refresh rate of a given mode exactly and in so doing it also determines
 how  long TimeDX should spend when it determines the retrace rate automatically
  for the Time Video Mode test.  Unless 
	 you notice the retrace rate determination in the Time Video mode test 
	 taking an inordinate amount of time (it should take a few seconds at most 
	 and on some machines it's so fast you can't ever actually see the test run) you can pretty
 much forget about this test (unless you are using an LCD flat panel display, 
     see below) beyond making sure that it doesn't throw an error.
  If you cannot get the test to run without flagging an error all other
 programs should be closed when using this test, particularly things like
MS Word.  The BIOPAC Acquire program is also horrendous, until they
change the program so it doesn't use every single CPU cycle even when it
isn't doing anything DMDX and TimeDX are going to have a tough time doing
 accurate timing.
     
          The refresh rate test sets up two screens with the text 
	 "Refresh Rate <>" and "Refresh Rate ><" and flips between them as fast the 
	 hardware will allow, which should be at the refresh rate.   When   the test is working properly you should see the sets of
angle brackets imposed   on each other, smoothly, there should
be no flickering beyond the first few   flips.  You should see four little 
     Xs in a 2x2 grid that should be dimmer than the Retrace Rate text except at 
     the centers of the Xs where they will have the same intensity as the 
     Retrace Rate text. Sometimes a machine just gets
flat out ornery and this test coughs   and farts and never settles down, restart TimeDX and all is plain sailing again.  In the past when I experienced
this problem it was directly attributable   to MS Word, closing it removed
all trace of instability.  These days it's usually a LCD flat panel running 
     at a non-native resolution (see below) adding yet another complicated 
     wrinkle to everything.  Although the display might be flickering all 
     over the place TimeDX might in fact determine the retrace interval 
     correctly because it's the panel itself causing the flickering, not the 
     computer and the user has to recognize the visual indications of poor 
	 testing.
	     Another good check
is  that a number of monitors these days sense what the refresh rate is and
 store  brightness, contrast, etc, parameters for each video mode, when you
 adjust  these the monitor usually displays the current refresh rate in Hertz,
 invert  this number and that is the number the Retrace Rate determination
 code should  be coming up with, if it's not you need to tweak it's parameters
 until it  does.
          
          The user can control how
	 accurately (or how long) this test takes by raising or lowering the SD 
	 field.  This value is stored in the registry and used
by the Time Video Mode Test when it determines  what the automatic timing values
should be for any given video mode.   The version 5 Refresh Rate test 
	 operates by recording the intervals from successive Present() (Direct3D) or 
	 Flip() (DirectDraw) operations and calculating the SD of those intervals.  
	 When the requested number's deviation falls below the specified SD the test 
	 stops and returns the retrace interval as the average of those samples.  The  default value of 
	 60 cycles and an SD of 0.1 typically yields values that are accurate  to 0.01ms.  
	 On some machines this may be unattainable but on everything I've tested so 
	 far it's been fine.  If the test refuses to finish hitting a key or 
	 clicking the mouse will terminate it, however the version 5 code usually 
	 still returns a pretty accurate value even then.  If your machine 
	 takes too long or never settles down enough to finish then you will have to 
	 raise the SD till it does.
          
          The user can also flag whether the routine is not to
check   for other activity as the test is running.   I stuck this is in in
the hope   that perhaps I could block MS Word's interference with it but
alas it doesn't   look like it -- the design of the version 5 code renders this   consideration moot 
	 in my experience however.   Checking the "Don't Bother Checking 
	 for Other Activity" checkbox stops
the timing routine   from processing windows messages while it's running, if checked you won't
be able to abort the  timing loop (so if you specified a really low SD you'll
be waiting for a while)  but there's less chance the timing loop will be interrupted.
          
          When using the default 
	 DirectDraw rendering path there is a possibility that
 the hardware may be cheating on flips (see flip waiting time at the end of
 the Video
 Mode selection), by buffering
a number of flips up so benchmarks look better.  If this check box is 
	 grayed out you're using the Direct3D rendering path.   While the 
	 version 5 SD based code renders such cheating irrelevant I left the "Read 
	 Between Flips" option in there because I don't want to delete code that 
	 could be useful some day on some future setup that I can't predict 
	 currently.
     
     
     LCD Flat Panel Displays.
     
    
          The prevalence of TFT or LCD 
     flat panel displays these days introduces new and critical issues for 
     tachistoscopic displays when using the non-native resolutions of the flat panel 
     and it just so happens that the Refresh Rate test is a really good way of 
     detecting whether you've actually selected said native resolution or not.  When a flat 
     panel sees a video signal that's not at it's native resolution it has to 
     render that video data into it's own resolution, this takes time and thus 
     lags the display and can also drop whole frames of video data so selecting 
     the native resolution as the video mode becomes critical.  The Video 
     Mode dialog has a button to select the desktop resolution which is 
     normally but not always the native resolution and in addition there are 
     flat panels that only operate correctly at particular retrace rates so the 
     video mode selection really has to be checked against the monitor in real 
     time to see whether the monitor is screwing things up and the Refresh Rate 
     test is a really good test because it presents a continuous train of 
     different displays which the unaided eye can easily detect changes in.  
     So when the monitor drops a frame you see the display flicker.  Which 
     presents a bit of a problem as a failure anywhere produces the some sort of 
     flickering display, you can have cheating drivers (or other more 
     severe problems) producing flickering and you can have the monitor 
     producing it leaving the poor user with even less clue as to what's 
     happening.  Principle difference here is that TimeDX can time the 
     display correctly while it's flickering due to monitor based non-native 
     resolution factors whereas the other flickering (caused by drivers or 
     worse) won't get timed correctly till the SD is raised.  So if you see the 
     Refresh Rate test correctly determine the refresh rate in a reasonable 
     period of time but the display is still flickering you can be sure you're 
     not using the native resolution of the flat panel as the flickering is 
     being caused by the panel.  To cap it all off I've 
     seen recent examples of flat panels that operated at 60, 70 and 75 Hz, some 
     of them only operate correctly at 60 Hz, others at 75 Hz.  So the Refresh 
     Rate test becomes your acid test for determining what display you should 
     use.  If the Refresh Rate test is operating quickly and giving the 
     right sort of results but the display is flickering the display resolution and or the refresh rate isn't 
     to the monitors liking.  Get it all right and you'll finally see an 
     even display.  All is not lost however, even if you get everything wrong 
     (assuming you get half way correct video timing parameters in the Vertical 
     Retrace Sync test) the worst error DMDX is going make is still only a 
     couple of ticks or so so all of this only really matters to people doing 
     masked primes and other sorts of tachistoscopic displays.  And color 
     depth doesn't appear to be a variable so you've still got the choice of 16 
     or 32 bit displays.
     
    
          There's a rather good article on 
     LCD flat panels on X-bit labs: 
     
     Contemporary LCD Monitor Parameters: Objective and Subjective Analysis.  
     Saved version is here.
    
    
    TimeDX   Index.