Couldn't compute a reliable estimate of monitor refresh interval! Trouble with VBL syncing?!?

I am getting synchronization failure errors that stop my experiment from running, whenever the Screen command is used.
The observed and reported refresh rates seem to be within +/- 20% of each other, so I’m not sure why the error is happening.
The error occurs irrespective of the Windows resolution and refresh rate settings.
Triple buffering is set to off.
Buffer flipping mode is set to auto select.
I don’t see any option for synchronizing bufferswaps to the vertical retrace.
I’m using only a single display (no multiple monitors). Trying to run Screen as full-screen, not windowed.
BeampositionTest fails, with the same error. PerceptualVBLSyncTest fails, with the same error.
Migrating to Linux is probably not an option in the short term (we’re trying to get this working before an upcoming deadline, and we have only used our code on Windows to date).
I’m not sure what else to try.
Please advise. Any ideas? Thanks!

  • Output of >> PsychtoolboxVersion: '3.0.18 - Flavor: beta - Corresponds to SVN Revision 13009
  • Windows 11, MATLAB R2022b
  • The Screen command exhibits the issue I am having.
  • Warnings and Errors that were printed to the console:
    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 :: NVIDIA RTX A2000 Laptop GPU/PCIe/SSE2 :: 4.6.0 NVIDIA 527.37
PTB-INFO: VBL startline = 2400 , VBL Endline = 2399
PTB-INFO: Measured monitor refresh interval from beamposition = 16.668645 ms [59.992879 Hz].
PTB-INFO: Will use beamposition query for accurate Flip time stamping.
PTB-INFO: Measured monitor refresh interval from VBLsync = 16.665968 ms [60.002515 Hz]. (50 valid samples taken, stddev=0.375472 ms.)
PTB-INFO: Reported monitor refresh interval from operating system = 16.666667 ms [60.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.

PSYCORTEX: Hardware set up failed: Error using Screen
See error message printed above.
file: ‘C:\secure\code\psycortex\psyCortex2@Display\Display.m’
name: ‘Display.Display’
line: 94

  • Hardware setup (GPU etc.) and relevant driver versions:
    NVIDIA RTX A2000 Laptop GPU
    Driver version 31.0.15.2737

Authentication token:

========================================================================================

R8MVU-Z6-202323142224:36c8e6626e3ce695122a1d01dad5ab571696bd1cfb491ace68502eaf90a95554

========================================================================================

The stddev. during the calibration trials is very high with 0.375 msecs >> 0.2 msecs limit or the less than 0.1 msecs one would expect on a well working system.

If timing doesn’t matter, you can skip the sync tests, otherwise:

This is an indicator of either a very noisy system, or that the desktop compositor or triple-buffering is interfering. The latter being the reason why PTB complains, as that would certainly cause broken visual timing with timing errors of up to multiple video refresh durations.

Is this a hybrid-graphics laptop, ie. NVidia Optimus? → One usually unfixable cause of broken timing on MS-Windows.

Is it set to a display scaling other than 100% on a HiDPI “Retina” style display? Can cause broken timing due to compositor, but is usually only an issue for multi-display setups, not single-display.

Does the welcome screen with the frog “vibrate/jitter/wiggle”? → Indicates some type of triple-buffering. On MS-Windows, you can try Screen('Preference', 'VisualDebugLevel', 6). If the onscreen window is subject to desktop composition, which will certainly
destroy any kind of proper visual stimulation timing, then the window may
turn invisible if this VisualDebugLevel value is set. Iow. if your window is
not showing up at all, despite all the status output in your Octave or Matlab
command window suggesting normal operation, or if the window is disappearing
in the middle of your data collection session, then this is a clear indication
that the DWM desktop compositor is active and interfering.

If you run a script with Screen('Preference', 'Verbosity', 5), looking at the printed out individual calibration timing samples allows to judge if this is a noisy system or serious trouble.

Depends on your setup. Single display setups are usually the most simple ones to get up and running with, could be quite quick and straightforward if you don’t need special hardware. Choice of a NVidia gpu is highly suboptimal though, although generally still much better than on Windows in most cases.

-mario
[18 minutes out of 30 minutes paid support used.]

What precisely is “a hybrid-graphics laptop”, and how do we tell if our laptop is hybrid-graphics or not?
We have switched to a laptop using an NVIDIA RTX A3000 instead of the NVIDIA RTX A2000 but we are still getting the same error.
Thanks.

If you google it, the first hits tells you what it is

A laptop with two graphics chips, one power-efficient and low performance, one power hungry and high performance (would be the NVidia in your case if this were such a laptop). “NVidia Optimus” is a common marketing name for this, see help HybridGraphics. What they all have in common is that they are lost causes on MS-Windows most of the time if timing is needed, but sometimes salvageable when running under Linux, depending on specific hardware and use case.

So you took my comment that NVidia is a sub-optimal choice as a hint to get another NVidia laptop? What brand and model is this laptop, link to product description?

What about all my other advice and the stuff I asked for? Can’t help you without you following instructions. 10 days passed, which probably would have been enough to salvage this with Linux for a simple single-display setup. Didn’t you say something about an upcoming deadline?

[21 minutes of 30 minutes paid support used, 9 minutes paid support left].
-mario