Display
E-Prime can use a single or multiple monitors simultaneously to run experiments. E-Prime also has the capability to adjust the desktop resolution during experiment runtime, refresh rate, screen orientation, and color options. A Display is added to the experiment by default.
DisplayDevice.FlippingEnabled
E-Prime enhancement of using display back buffer flipping, which is enabled by default for new experiments. A flip operation in technical terms is an operation performed in the display adapter hardware where it chooses between two different display areas (canvas) without having to copy the entire contents from one area to the next. The primary benefit for E-Prime users for this enhancement is to ensure that displays are synchronized with the vertical blank, which avoids the likelihood of tearing where the partial contents of one display appear torn between the previous display contents.
When using DisplayDevice.FlippingEnabled = Yes (default), experiment authors should take care when using Canvas scripting or the .Draw object. Any drawing operation will perform a Flip operation. Thus, using any drawing commands such as Line, Circle, etc. should be performed on an off screen canvas and then brought to the screen using Canvas.Copy. The use of Display.WaitForVerticalBlank which is necessary to sync to the vertical blank before performing a Canvas.Copy command is not required when DisplayDevice.FlippingEnabled = Yes and will actually be of a detriment , because doing so would result in two refresh cycles (one for .WaitForVerticalBlank and one for Canvas.Copy) to occur.
RefreshAlignment
E-Prime includes RefreshAlignment. RefreshAlignment is the ability for the display scheduling in E-Prime to start an object early if the next refresh is just prior to the next target onset time of an object. For example, assume that the next object in a trial is has a NextTargetOnsetTime of 5532. The DisplayDevice reports that the next vertical blank sync is scheduled to occur at time 5530. Without RefreshAlignment, this would result on a 60 hz monitor having Object B starting at time 5546. With RefreshAlignment, the system would detect that the next refresh is just prior to the next target onset time and start Object B at time 5530.
Even when specifying a Duration value for objects that is divisible by the refresh rate, eventually an object will run into a situation where it would benefit from RefreshAlignment, because its schedule time occurs just after a refresh event occurs.
For example, on a 60 hz monitor, the refresh rate is 16.666666ms. Since that floating point number is not evenly divisible by an integer capable of being specified for the Duration property, having RefreshAlignment allows for the system to be adjusted to sync when the floating point overflow would occur.
The RefreshAlignment is specified in terms of a percentage of the refresh rate. The default rate is 25%, and the maximum value is 75%. The RefreshAlignment is set on the DisplayDevice property pages.
With RefreshAlignment, an experiment increases the chances for objects to have two small display timing errors because it shortens one object and lengthens the display time for the second. This is viewed by many paradigms as being a better solution than having one timing error on one display that has a significant error of being on screen for an entire additional refresh.
Support for Multiple Video Displays
E-Prime supports the presentation of stimuli on multiple video displays. The Display device is included in the Devices list for all new E-Prime experiments by default. To edit which video display the experiment is presented on, double-click the Experiment object at the top of the Structure view to open its Property pages, and navigate to the Device tab. Double-click the Display device to open the DisplayDevice Properties. The Display Index property will allow you to designate which monitor attached to your machine will be used to present the experiment. For example, a Display Index value of 1 indicates that E-Prime should present the experiment on the “default” monitor (i.e. the monitor Windows has labeled #1). A Display Index value of 2 indicates that E-Prime should use the secondary monitor (i.e. the monitor Windows has labeled #2). You can modify which monitor is considered the primary/default by a right mouse click > Screen Resolution > Display Property.
E-Prime supports the simultaneous display of stimuli on any number of multiple monitors. Additional Display devices can be added via the Experiment object’s Property pages. To do so, double-click the Experiment object at the top of the Structure view to open its Property pages. Then, navigate to the Devices tab. Click the “Add” button and double-click Display from the list of available devices in the Add Device dialog. E-Prime will automatically name the device numerically (e.g. Display2, Display3, etc). You can rename a Display device by highlighting it on the Devices tab, clicking the “Edit” button, and entering the desired name in the Name field.
This dialog contains the fields Minimum and Maximum Acceptable Refresh Rate, and Throw error if invalid refresh rate. The Minimum and Maximum Acceptable Refresh Rate set the desired minimum and maximum bounds for the Display.RefreshRate property. Monitors and other display devices that fall out of the desired range can affect timing. This is likely to occur with emulated drivers, and unsupported/bad display modes. The Throw error if invalid refresh rate sets a flag to throw an error if the Display.RefreshRate property is outside of the tolerable range. Please note, on systems that are emulated and/or virtual, the refresh rate will be zero, but turning off the Throw error if invalid refresh rate flag allows the E-Prime runtime to set the Display.RefreshRate property to 60 Hz so experiment can continue to run in the virtual environment.
Objects that present a visual stimulus (i.e. TextDisplay, ImageDisplay, etc) include a Display Name property that designates the name of the Display device that should be used for stimulus presentation. The Display Name property is located on the General tab of an object’s Property pages. To specify the Display device to be used, open the object’s Property pages by clicking the Property Pages button in the Toolbar and enter the name of the Display device in the Display Name field.
If the Display Name property is left blank, E-Prime will present the stimulus using the "default" Display device.
Keyboard
E-Prime can use the Keyboard as an input device. Response presses and key assignments can be designated. Also, AutoResponses for E-Run test can be designated here. A Keyboard is added to the experiment by default. See E-STUDIO: E-Run Test Mode [22737] for further information.
Mouse
E-Prime can use the Mouse as an input device. Response presses and curson options can be designated. A Mouse is added to the experiment by default. See also E-STUDIO: Touch Interface Support [24258] for information pertaining to mouse device support for touch interfaces.
Sound
Sound is added to the experiment by default. API options can be selected in the Sound object:
- CoreAudio (the default)
- DirectSound
- Chronos
- ASIO
NOTE: Drivers can be configured for sound drivers as well.
Enhanced Sound Support
E-Prime has the ability to choose the underlying API used to assist with talking to sound hardware when run during an experiment. Earlier versions of E-Prime relied exclusively on the DirectSound API. In Windows XP, the DirectSound API provides a thin layer between an end user application such as E-Prime and direct access to the sound adapter hardware allowing for sound adapters with fast hardware to achieve low startup latency values. In Windows Vista and later, the DirectSoundAPI sits on top of another operating system layer. This results in much poorer performing sound hardware values on the equivalent PC using Windows Vista and later than with Windows XP typically performing no faster than 30ms for a startup.
NOTE: For details, see AV: Sound Latency - Windows Vista / Windows 7 (and beyond) [18833]
Button
E-Prime can use button devices to collect responses during an experiment. Response types include a press down, click, double click, hover, long press, fixation, and check. Button options can be selected here. The ability exists to edit Button Themes. A Button Device is added to the experiment by default. See E-STUDIO: Button Device [24411] for further information.
Script
Allows you to time lock E-Basic script to E-Object based events. The Script device is added to the experiment by default and cannot be edited or removed. See OVERVIEW: Extending Experiments with Script [23286] for further information.
Chronos
The Chronos Response box can be added to any experiment on machines in which Chronos is installed. It is not added to an experiment by default. For more information on Chronos options, please refer to the Chronos Operator's Manual or the Chronos Command Reference. See DEVICE: Chronos as a Response Device [24491] for further information.
Joystick
E-Prime can use a single or multiple joysticks as an input device. Response presses and cursor options can be designated. Joysticks are not added to an experiment by default. See INFO: Joystick Device [17152] for further information.
ParallelPort
E-Prime is capable of sending a signal to the parallel port for interfacing with an external device. The receipt and handling of the signal by the other machine is the responsibility of the user. A ParrallelPort is not added to an experiment by default. See DEVICE: Parallel Port Device [17150] for further information.
Port
E-Prime is capable of sending a signal to the port for interfacing with an external device. The receipt and handling of the signal by the other machine is the responsibility of the user. Port Communication is not added to an experiment by default. See DEVICE: Port Device [17213] for further information.
Serial
E-Prime is capable of sending a signal to a serial port for interfacing with an external device. The receipt and handling of the signal by the other machine is the responsibility of the user. Serial Communication is not added to an experiment by default. See DEVICE: Serial Device [17355] for further information.
Socket
E-Prime is capable of sending a signal to the socket for interfacing with an external device. The receipt and handling of the signal by the other machine is the responsibility of the user. A Socket is not added to an experiment by default. See DEVICE: Add a Socket object or device to support TCP/IP communications [16877] for additional information.
SoundCapture
SoundCapture devices can be added to experiments in which audio needs to be recorded from participants. Settings on Channels, Samples, and Bits per Samples can be adjusted here. SoundCapture is not added to an experiment by default.
SRBOX
The Serial Response Box can be added to any experiment as an alternative input device (See E-STUDIO: Input Devices, Input Masks, and Echoes [22723]). The Serial Response Box features 5 lamps, and 5 keys. It is not added to an experiment by default. For more information on the SRBox, refer to the Products section of the PST website.
Next Article: E-STUDIO: Input Devices, Input Masks, and Echoes [22723]
Previous Article: E-STUDIO: SlideSlider Sub-Object [23600]
Comments
0 comments
Please sign in to leave a comment.