I’ve been trying to set up a new PC in one of our labs and am quite frequently, but not always, getting a ‘synchronization failure’ error when using Psychtoolbox to run MATLAB demos, or when typing the command ‘VBLSyncTest’.
>> VBLSyncTest
PTB-INFO: This is Psychtoolbox-3 for Microsoft Windows, under Matlab 64-Bit (Version 3.0.18 - Build date: Jun 27 2022).
PTB-INFO: OS support status: Windows 10 (Version 10.0) supported and tested to some limited degree.
PTB-INFO: Type ‘PsychtoolboxVersion’ for more detailed version information.
PTB-INFO: Most parts of the Psychtoolbox distribution are licensed to you under terms of the MIT License, with
PTB-INFO: some restrictions. See file ‘License.txt’ in the Psychtoolbox root folder for the exact licensing conditions.
PTB-INFO: For information about paid support, support memberships and other commercial services, please type
PTB-INFO: ‘PsychPaidSupportAndServices’.
PTB-INFO: The detected endline of the vertical blank interval is equal or lower than the startline. This indicates
PTB-INFO: that i couldn’t detect the duration of the vertical blank interval and won’t be able to correct timestamps
PTB-INFO: for it. This will introduce a very small and constant offset (typically << 1 msec). Read ‘help BeampositionQueries’
PTB-INFO: for how to correct this, should you really require that last few microseconds of precision.
PTB-INFO: Btw. this can also mean that your systems beamposition queries are slightly broken. It may help timing precision to
PTB-INFO: enable the beamposition workaround, as explained in ‘help ConserveVRAMSettings’, section ‘kPsychUseBeampositionQueryWorkaround’.
PTB-INFO: OpenGL-Renderer is NVIDIA Corporation :: GeForce 8600 GT/PCIe/SSE2 :: 3.3.0
PTB-INFO: VBL startline = 1024 , VBL Endline = 1023
PTB-INFO: Measured monitor refresh interval from beamposition = 11.761086 ms [85.026164 Hz].
PTB-INFO: Will use beamposition query for accurate Flip time stamping.
PTB-INFO: Measured monitor refresh interval from VBLsync = 11.761320 ms [85.024473 Hz]. (51 valid samples taken, stddev=0.998062 ms.)
PTB-INFO: Reported monitor refresh interval from operating system = 11.764706 ms [85.000000 Hz].
PTB-INFO: Small deviations between reported values are normal and no reason to worry.
PTB-INFO: ==============================================================================================================================
PTB-INFO: WINDOWS DWM DESKTOP COMPOSITOR IS ACTIVE. On this Windows-10 or later system, Psychtoolbox can no longer reliably detect if
PTB-INFO: this will cause trouble for timing and integrity of visual stimuli or not. You might be just fine, or you could be in trouble.
PTB-INFO: Use external measurement equipment and independent procedures to verify reliability of timing if you care about proper timing.
PTB-INFO: ==============================================================================================================================
WARNING: Couldn’t compute a reliable estimate of monitor refresh interval! Trouble with VBL syncing?!?
----- ! PTB - ERROR: SYNCHRONIZATION FAILURE ! -----
One or more internal checks (see Warnings above) indicate that synchronization
of Psychtoolbox to the vertical retrace (VBL) is not working on your setup.
This will seriously impair proper stimulus presentation and stimulus presentation timing!
Please read ‘help SyncTrouble’ for information about how to solve or work-around the problem.
You can force Psychtoolbox to continue, despite the severe problems, by adding the command
Screen(‘Preference’, ‘SkipSyncTests’, 1); at the top of your script, if you really know what you are doing.
Error using PsychImaging (line 2339)
Error using Screen
See error message printed above.
Error in VBLSyncTest (line 295)
w = PsychImaging('OpenWindow',screenNumber, 0, \[\], \[\], \[\], stereo);>>
The PC is running Windows 10 22H2, with MATLAB 2021b, Psychtoolbox 3.0.18 and GStreamer 1.18.6 (1.18 is the version recommended for Psychtoolbox 3.0.18 and ‘help GStreamer’ gives a link for 1.18.5, but this link is broken and only 1.18.6 is currently available for download). The monitor is a CRT (HP P1130 Trinitron), connected via a DVI to VGA adapter. I have read the ‘help SyncTrouble’ information that lists some possible causes and fixes, mainly to do with display settings and drivers, but these settings seem to be correct and the drivers are up to date. I have also noted that some forum posts recommend the use of Linux rather than Windows, but we have a PC in a different lab with similar specs that does not get ‘synchronization failure’ errors. (It does still give the ‘WINDOWS DWM DESKTOP COMPOSITOR IS ACTIVE’ warning.) This PC is running Windows 10 22H2, with MATLAB 2021b, Psychtoolbox 3.0.18 and GStreamer 1.18.5. One difference between these PCs is the graphics card: the new PC has an NVIDIA GeForce 8600 GT, while the PC that is not giving ‘synchronization failure’ errors has an NVIDIA GTX 1660 Ti. A logical step at this point would be to try a different graphics card in the new PC, but this could be an expensive process of trial and error. Another difference is the monitor, but trying out several combos suggests that the monitor is not the issue (e.g. the new PC still gives sync errors when attached to the LCD monitor that the good PC is attached to; and an older PC running Windows 7 and older versions of MATLAB and PTB does not give sync errors when attached to the same CRT monitor via a DVI to VGA adapter). Any suggestions would be welcome!
As I understand it, the sync test takes measurements of the refresh interval and reports the standard deviation in these measurements. A cut-off SD value of 0.2 ms is used to determine whether or not there is a synchronization failure. On the new PC, the SD values vary a lot from one sync test to the next and I think the easiest way to describe them is with a graph showing the results of successive sync tests using the ‘VBLSyncTest’ command. The figure below compares the new PC with two existing PCs that are not giving ‘synchronization failure’ errors.
It can be seen that the standard deviation quite often exceeds the cut-off by a few tenths of a millisecond (the worst I’ve seen is 0.998 ms). I’m not sure how much of a concern this level of variability is. It presumably depends on what sort of data the new PC will be collecting. It is going to be used in an eye-tracking lab. An opinion on whether the performance that I’m seeing is acceptable or not would also be helpful, although I realise this might be like asking ‘how long is a piece of string’. I’m a technician and I don’t collect or analyse data myself.
Thanks,
Richard
