Presentation modes
Presentation mode or present mode describes mainly the timing decisions involved in transferring an image from the computer to the monitor. In most situations you will not care about presentation mode, but if accuracy of timing is important, you should care about presention mode. This page uses terminology from the Vulkan API. It may be slightly different from terminology in other API's or commercials.
Modes
There are four presentation modes:
FIFO
This is the most desired mode for experiments. Once an image is completed, it is scheduled for presentation. Typically there will be two images or buffers. One image is being prepared, one is being written to the screen. If no new image has been scheduled for presentation. The first image will be send again to the screen. If an image has been scheduled. The program will have to wait for the first image to be send completely before continuing. This waiting is desirable since it gives the program information about when the computer starts sending the image to the screen for the first time. This moment will typically be only a very short while before an optional vertical sync sensor reports the image starting to appear on the screen.
immediate
This is usually not a desired mode. Once an image is completed, it is scheduled for presentation. The image being send the the screen is switched to the new image immediately. This may result in the lower part of the on screen image being part of the new image and the upper part begin part of the old image. The present function will return immediately and give no information about the monitor sync. Using the vertical sync sensor is only useful if it is mounted on the monitor at the same height as the stimulus. If it is mounted on the top left and the stimulus is in the center, the sensor may send a signal one frame after showing the image on screen.
FIFO relaxed
This mode is like FIFO except when the image currently being send to the screen has been send before, then the image switch takes place immediately, like in immediate mode. When using FIFO relaxed mode, it is best to send images to the screen in quick succession to avoid the relaxed behavior. (option 1)
If it is not possible to send images quickly, and synchronization is desired (the program must wait for the screen), make sure to send an image that is not a stimulus just before the stimulus with which the program must synchronize. If a vertical sync sensor is used, make sure to send at least two blank images, or one blank image after a long wait (>0.1 s), before the stimulus image to make sure the sensor sees a blank screen before the stimulus. (option 2)
If both is not possible you may want to take the precautions mentioned for immediate mode.
This is the mode you will for now unfortunately have to work with when using Psychopy on our labcomputer.
mailbox
This mode typically uses more than two images. The program never waits for the monitor, like in immediate mode. If the image chain is full, the oldest image (that has not yet been written to screen) will be discarded. It is useful for reducing on high performance hardware latency since the most recently generated images are shown.
Detection
You may not have control over the presentation mode, as is the case when using Psychopy on our labcomputer without discrete graphics hardware. You can however often detect it. Use this script the detect which mode your computer uses in Psychopy.