What's best for E-Prime video timing accuracy: Mirror mode, VGA splitter, or Display Port splitter?

847 views
Skip to first unread message

Scott

unread,
Dec 9, 2012, 5:08:35 PM12/9/12
to e-p...@googlegroups.com
I don't expect perfection, but would like feedback to help choose how to setup a new lab using E-Prime using physiological equipment in two rooms. One room has two PCs, one recording physiological measurements, connected (via the parallel port) to a second PC running E-Prime. Each will be monitored by experimenters in that room. The other room has the subject's video display and button box. My question has to do ONLY with the E-Prime PC. We want experimenters to be able to see what the subject sees, while they monitor physiological recording, so we want the E-Prime video mirrored on LCD displays in the two rooms. Of course this is a very common situation for such labs (using EEG, fMRI, EDR, etc). Our E-Prime computer has a video card (AMD RADEON HD 7470) with one Display Port and one VGA port. Using this computer and display card, there are 3 simple ways (afaik) to accomplish what I want and display the same thing on two monitors:
  1. Connect one LCD to the Display Port and the other to the VGA port, and set the display card to clone mode;
  2. Connect a VGA Y-splitter to the computer's VGA port, and connect one LCD monitor to each side of the splitter; or
  3. Connect a Display Port Y-splitter to the computer's VGA port, and connect one LCD monitor (via Display Port-to-HDMI or -to-VGA converter) to each side of the splitter.

Using method #1, the E-Prime 2.0.10.184 or later Experiment Advisor will warn that "Mirroring can cause timing issues since vertical blank synchronization is not accurate between multiple displays..." (see KB 5014 - FEATURE: Experiment Advisor Module - Display adapter set to clone mode). However, I do not know whether using a splitter will actually improve timing consistency or solve any issues related to vertical blank synchronization. If a splitter would be better, Also, I don't know whether the type of splitter would make any difference in this regard. (I do know that video resolution and quality might differ). Note that I am aware of various issues (eg., input lag, rise time) that can compromise timing accuracy of LCD displays. As a said at the outset, I'm not expecting perfection, or even anything close to the accuracy of a single CRT monitor. My goal is simply to minimize the variability of the time between the onset sync, detected by E-Prime, and the onset of the visual display seen by the subject. A constant lag does not concern me. Also, the two monitors to do NOT need to be synchronized with each other, except to the extent necessary for even one to be (relatively) synchronized to the vertical blank. Also note that I am NOT concerned or asking about synchronization between physiological recordings and the vertical blank time detected by E-Prime, signaled via the parallel port; that's a different and less troublesome issue, imho. Also, I understand that timing accuracy is more or less critical, depending on experimental paradigms and physiological measures. All I'm asking about is which of the 3 methods listed above can be expected to yield the most consistent and reliable (or least bad) timings, as a general rule, when connecting two LCD displays, both showing the same content,  to one PC running E-Prime. If anyone knows any better methods, other than these 3, I'd like to hear about them as well.

Thanks, in advance, for sharing relevant experience, knowledge, and advice. --Scott


David McFarlane

unread,
Dec 10, 2012, 1:49:02 PM12/10/12
to e-p...@googlegroups.com
Scott,

Good questions, wish I had an answer, hope someone else does. You
should submit this to PST Web Support at
http://support.pstnet.com/e%2Dprime/support/login.asp , after all it
is their business to know these things. Then please post back here
with the answer.

Thanks,
-- David McFarlane


At 12/9/2012 05:08 PM Sunday, Scott wrote:
>I don't expect perfection, but would like feedback to help choose
>how to setup a new lab using E-Prime using physiological equipment
>in two rooms. One room has two PCs, one recording physiological
>measurements, connected (via the parallel port) to a second PC
>running E-Prime. Each will be monitored by experimenters in that
>room. The other room has the subject's video display and button box.
>My question has to do ONLY with the E-Prime PC. We want
>experimenters to be able to see what the subject sees, while they
>monitor physiological recording, so we want the E-Prime video
>mirrored on LCD displays in the two rooms. Of course this is a very
>common situation for such labs (using EEG, fMRI, EDR, etc). Our
>E-Prime computer has a video card (AMD RADEON HD 7470) with one
>Display Port and one VGA port. Using this computer and display card,
>there are 3 simple ways (afaik) to accomplish what I want and
>display the same thing on two monitors:
> * Connect one LCD to the Display Port and the other to the VGA
> port, and set the display card to clone mode;
> * Connect a VGA Y-splitter to the computer's VGA port, and
> connect one LCD monitor to each side of the splitter; or
> * Connect a Display Port Y-splitter to the computer's VGA port,
> and connect one LCD monitor (via Display Port-to-HDMI or -to-VGA
> converter) to each side of the splitter.
>
>Using method #1, the E-Prime 2.0.10.184 or later Experiment Advisor
>will warn that "Mirroring can cause timing issues since vertical
>blank synchronization is not accurate between multiple displays..."
>(see <http://www.pstnet.com/support/kb.asp?TopicID=5014>KB 5014 -

Scott

unread,
Dec 12, 2012, 1:01:28 AM12/12/12
to e-p...@googlegroups.com
Hi David,

Actually, I submitted this basic question to E-Prime support a couple of hours after I posted here. Unfortunately, the body of my support request did not get submitted; don't know why but guess I goofed somehow. Even without the detailed explanation I posted here, I did get a decent response to only the title of my support request (nothing else got submitted): "What's better: mirror mode or splitter?"
Reply:
Cloning or mirroring can cause timing issues since vertical blank synchronization is not accurate between multiple displays. Determining which display is considered primary can cause confusion and may not be consistent between computer configurations. Instead of cloning the display through software, it is better to split it physically using a VGA splitter cable. If it is necessary for you to view the experiment on multiple screens, you should use a splitter to direct the output.

I hope this helps. Please let me know if you have any other questions.

Sincerely,
David Nicholson, Technical Consultant
I've asked for clarification and amended my request as follows:
Thanks. You more or less answered my question from the support title, even though (for reasons I don't understand) the actual text of the question was not submitted.

I'd like a little clarification and an answer to another part of my question (which did not get posted). You are saying if I use a splitter, then E-Prime will see only one monitor (connected to the display card) and thus only one vertical blank signal; is that correct? Part of my question that wasn't posted was that I will be using two LCD monitors. Considering this, will it make any difference whether I divide the analog signal from my display card, using a VGA splitter or the digital signal, using a DVI or Display Port splitter? A digital connection can transmit additional information about the display; I wonder if this might cause any synchronization problems. On the other hand, the VGA signal will have to be converted to digital data by the LCD display, possibly increasing the lag. -- Thanks for clarification & recommendations regarding the preferred type of splitter.
I'll post this support response whenever I get it.

Thanks.

Scott
 

David McFarlane

unread,
Dec 13, 2012, 3:06:19 PM12/13/12
to e-p...@googlegroups.com
Scott,

I went ahead and submitted the question myself to PST Web Support on
10 Dec, and got a very full reply on 12 Dec. I post PST's full
response here for everyone's benefit, along with my question because
I posed it in a slightly different way.

First, my form of the question:

/-----------
What if we want to share the same video output to two screens, e.g.,
one LCD screen for a subject in the fMRI scanner, and another in the
control room to mirror (echo?) the subject display so that
researchers can monitor what appears to the subject? In principle, we
have no guarantee that both screens even use the same refresh rate,
and if they do, we have no guarantee that both screens refresh at the
same time. (Or do we?) In that case,

1) Suppose we have a video card with both VGA and DisplayPort
outputs, and we can use "clone" mode to send the same video to both
outputs. How could E-Prime know which of the two screens to use for
refresh synchronization? (I think this is exactly the problem
addressed at http://www.pstnet.com/support/kb.asp?TopicID=5014, and
the answer is, EP cannot know, hence the problem.)

2) Suppose instead we connect the video card's VGA output to a video
splitter, which then goes to the two screens. Again, how could EP
know which of the two screens to use for refresh synchronization?

3) Same as #2, except using the video card's DisplayPort output. How
could EP know which of the two screens to use for refresh synchronization?
\-----------

And then the full response from Ryan Whitfield at PST Web Support:

/-----------
The answer to any questions regarding the use of mirror/clone mode
with E-Prime experiments and multiple monitors is that this can cause
timing issues since there is no way to accurately synchronize between
multiple displays. The reason for this is because - when using a
machine that has multiple display outputs - the current technology is
such that each of the outputs has its own pixel clock. These pixel
clocks are configured in such a way that (99% of the time) they do
not communicate and the primary display's "refresh request" is given
precedence in the cycle. Because of this, multiple-output video cards
should not be used in clone mode if display synchronization is a concern.

That being said, it IS possible to share the same video output to two
screens with display synchronization with the use of a DVI splitter.
The reason this is possible - while the multiple outputs are not - is
again related to the pixel clock. With a single display output, only
one pixel clock is being used and the display is being pushed out to
the splitter - and in turn the monitors - at the same time. However,
working with a DVI splitter requires that a few things be kept in
mind so that synchronization is possible. First, both monitors must
be able to display at refresh rate intended by the video card. This
means that a video card pushing out a 120Hz video signal cannot be
split to a monitor capable of 60Hz and a monitor capable of 120Hz.
However, a video card will be able to push a 60hz signal to both of
those monitors without issue (the 120Hz monitor will likely just
double-sample here). Second, the video card must be capable of
pushing out the correct refresh rate. This simply means (as expected)
that a video card only capable of 60Hz will not be able to push out
120Hz video to two 120Hz-capable monitors. Lastly, (and likely the
most overlooked one if you are using higher refresh rates and/or
larger resolution monitors) the splitter must be of high enough
quality to push out enough bandwidth from the video card to the two
monitors. Lower quality splitters will be fine for 1024x768@60Hz on
two monitors. However, if you are looking at displaying
1920x1080@120Hz, you will likely need a higher-quality DVI splitter -
as lower quality ones will not have the necessary bandwidth to push
through that amount of information.

Most of my answer has revolved around the use of DVI for your display
source, as this is what we have tested in-house because of the work
necessary for the implementation in the Hyperion system. This likely
applies to VGA as well, since similar information transfer is at work
there. With the DisplayPort, it may be easier to synchronize than DVI
because of the internal functioning of the technology - but we
haven't tested this functionality in-house, so I would recommend just
using a DisplayPort to DVI converter and then a DVI splitter once the
signal is in DVI.
\-----------

I hope that helps.

-----
David McFarlane
E-Prime training
online: http://psychology.msu.edu/Workshops_Courses/eprime.aspx
Twitter: @EPrimeMaster (https://twitter.com/EPrimeMaster)
><http://support.pstnet.com/e%2Dprime/support/login.asp>http://support.pstnet.com/e%2Dprime/support/login.asp
> <<http://www.pstnet.com/support/kb.asp?TopicID=5014>http://www.pstnet.com/support/kb.asp?TopicID=5014>KB

Peter Quain

unread,
Dec 13, 2012, 4:58:03 PM12/13/12
to e-p...@googlegroups.com

That is an interesting response. As I read it, Ryan Whitfield has replied in terms of synchronisation of frames displayed on two monitors with the claim that clone mode cannot provide this. However, he states that the primary display's refresh request (vertical blanking signal; VBS) is given precedence (by e-prime). In plain language I read this to mean that e-prime architecture (where identification of VBS is fundamental to visual display timing accuracy) is built to call on the primary display VBS. So the timing accuracy of primary displays should not be influenced by a second cloned (secondary) display, where exact timing accuracy could not be assumed because of out of synch vertical refresh. I have tested accuracy of primary display with thousands of trials where we collected timing information on vertical refresh intervals during time critical display events (presented using Canvas, dual-head video card, VGA output, cloned, 'identical' CRT monitors). Only a couple of VBS were missed, and the refresh intervals (3 of them) each averaged to the appropriate refresh interval. These timing 'marks' were taken immediately following Display.WaitForVerticalBlank commands. We were careful to ensure that the monitor the subjects saw was connected to the primary display port of the dual-head graphics card, which we identified from documentation, and checked empirically - the card would not output any signal to a monitor connected to the secondary port unless there was also a monitor connected to the primary port.

David Nicholson's original query was regarding timing accuracy while allowing experimenters to view on a second monitor what the subject was seeing. So, exact display synchronisation between cloned displays not possible because of nonsynchronised refresh cycles, but timing accuracy of primary display is possible (given proper identification of the primary display port, and an appropriate video card / drivers) because of e-prime architecture (Or have I got this wrong?). This should also be the case, in principle, using LCD monitors because they also generate a VBS (for compatibility with graphics systems developed with CRTs) and so e-prime should listen for the VBS from primary monitor. But then, you have onboard image processing engines and possible display lag - something a display splitter wouldn't fix.



At 07:06 AM 14/12/2012, you wrote:
Scott,

I went ahead and submitted the question myself to PST Web Support on 10 Dec, and got a very full reply on 12 Dec.  I post PST's full response here for everyone's benefit, along with my question because I posed it in a slightly different way.

First, my form of the question:

/-----------
What if we want to share the same video output to two screens, e.g., one LCD screen for a subject in the fMRI scanner, and another in the control room to mirror (echo?) the subject display so that researchers can monitor what appears to the subject? In principle, we have no guarantee that both screens even use the same refresh rate, and if they do, we have no guarantee that both screens refresh at the same time. (Or do we?) In that case,

1) Suppose we have a video card with both VGA and DisplayPort outputs, and we can use "clone" mode to send the same video to both outputs. How could E-Prime know which of the two screens to use for refresh synchronization? (I think this is exactly the problem addressed at http://www.pstnet.com/support/kb.asp?TopicID=5014, and the answer is, EP cannot know, hence the problem.)

2) Suppose instead we connect the video card's VGA output to a video splitter, which then goes to the two screens. Again, how could EP know which of the two screens to use for refresh synchronization?

3) Same as #2, except using the video card's DisplayPort output. How could EP know which of the two screens to use for refresh synchronization?
\-----------

And then the full response from Ryan Whitfield at PST Web Support:

/-----------
The answer to any questions regarding the use of mirror/clone mode with E-Prime experiments and multiple monitors is that this can cause timing issues since there is no way to accurately synchronize between multiple displays. The reason for this is because - when using a machine that has multiple display outputs - the current technology is such that each of the outputs has its own pixel clock. These pixel clocks are configured in such a way that (99% of the time) they do not communicate and the primary display's "refresh request" is given precedence in the cycle. Because of this, multiple-output video cards should not be used in clone mode if display synchronization is a concern.

That being said, it IS possible to share the same video output to two screens with display synchronization with the use of a DVI splitter. The reason this is possible - while the multiple outputs are not - is again related to the pixel clock. With a single display output, only one pixel clock is being used and the display is being pushed out to the splitter - and in turn the monitors - at the same time. However, working with a DVI splitter requires that a few things be kept in mind so that synchronization is possible. First, both monitors must be able to display at refresh rate intended by the video card. This means that a video card pushing out a 120Hz video signal cannot be split to a monitor capable of 60Hz and a monitor capable of 120Hz. However, a video card will be able to push a 60hz signal to both of those monitors without issue (the 120Hz monitor will likely just double-sample here). Second, the video card must be capable of pushing out the correct refresh rate. This simply means (as expected) that a video card only capable of 60Hz will not be able to push out 120Hz video to two 120Hz-capable monitors. Lastly, (and likely the most overlooked one if you are using higher refresh rates and/or larger resolution monitors) the splitter must be of high enough quality to push out enough bandwidth from the video card to the two monitors. Lower quality splitters will be fine for 1024x768@60Hz on two monitors. However, if you are looking at displaying 1920x1080@120Hz, you will likely need a higher-quality DVI splitter - as lower quality ones will not have the necessary bandwidth to push through that amount of information.

Most of my answer has revolved around the use of DVI for your display source, as this is what we have tested in-house because of the work necessary for the implementation in the Hyperion system. This likely applies to VGA as well, since similar information transfer is at work there. With the DisplayPort, it may be easier to synchronize than DVI because of the internal functioning of the technology - but we haven't tested this functionality in-house, so I would recommend just using a DisplayPort to DVI converter and then a DVI splitter once the signal is in DVI.
\-----------

I hope that helps.

-----
David McFarlane
E-Prime training online:  http://psychology.msu.edu/Workshops_Courses/eprime.aspx
Twitter:  @EPrimeMaster ( https://twitter.com/EPrimeMaster)
--
You received this message because you are subscribed to the Google Groups "E-Prime" group.
To post to this group, send email to e-p...@googlegroups.com.
To unsubscribe from this group, send email to e-prime+u...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply all
Reply to author
Forward
0 new messages