Hi Psychtoolbox Forum,
I am trying to run PTB on a dual-display setup where the display1 shows the visual stimuli and the other display2 shows the desktop (with simultaneous EEG recording and Matlab interface). Both displays have the same resolution. The problem is that PTB seems to run well in terms of proper VBL synchronization without EEG recording software on (on display2).
Below are the information and warnings.
Psychtoolbox Version: 3.0.15
Matlab version: Matlab 64-Bit (Version 3.0.15 - Build date: Jul 18 2019).
Platform: Windows 10 (Version 10.0) supported and tested to some limited degree.
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 GT 710/PCIe/SSE2 :: 4.6.0 NVIDIA 461.09
PTB-INFO: VBL startline = 1050 , VBL Endline = 1049
PTB-INFO: Measured monitor refresh interval from beamposition = 16.697044 ms [59.890841 Hz].
PTB-INFO: Will use beamposition query for accurate Flip time stamping.
PTB-INFO: Measured monitor refresh interval from VBLsync = 16.698216 ms [59.886637 Hz]. (50 valid samples taken, stddev=0.846590 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.
Below are the errors I got:
Error using Screen
See error message printed above.
Error in PsychImaging (line 2104)
[win, winRect] = Screen(âOpenWindowâ, screenid, clearcolor, winRect, pixelSize, numbuffers, stereomode, multiSample, imagingMode, specialFlags, clientRect, fbOverrideRect);
Error in SRT_task_modified_timgingtest (line 95)
[window, windowRect] = PsychImaging(âOpenWindowâ, screenNumber, black, [], [],[],[]);
After reading the âSyncTroubleâ. I assume the problem may be out of this dual display setup that the graphics card failed to sync to the display2. I tried several tips from the âSyncTroubleâ:
- turned off the EEG recording software on display2, the PTB ran well, without error reports. (But the EEG recording is required during the visual stimuli)
- minimized the EEG recording software on display2, didnât help. But the interesting thing is, having an online video on and minimized the website at the same time didnât clash with the PTB. It seems that the recording software breaks the timing, maybe because it consumes too much CPU load?
- assign the display1 (where the visual stimuli present) as the primary display, still crashed.
- set two displays with different and same refresh rate, didnât help.
- another issue comes to me when I was testing (although I should have noticed earlier). Because of the port connections, my original display is identified as display2 (where the desktop and EEG recording software lie), and the external monitor for visual stimuli is display1. The codes for call the Screen() function is screenNumber = max(Screen(âScreensâ)); Screen(âScreensâ) returns variables 0,1,2. According to the codes, I actually called the display2 to show the stimuli, but why, instead, the visual stimuli is present on display1?
I learned that it is probably not because of the PTB bug, but right now, as a rookie, I have no idea if there are any other solutions I could try. Any advice and suggestions will be appreciated.
Best regards,
Yufei