Couldn't measure a consistent frame rate

1,662 views
Skip to first unread message

Rachel Weintraub

unread,
Aug 22, 2012, 4:35:11 PM8/22/12
to psychop...@googlegroups.com
Hi,

I am trying to sync my PsychoPy experiment with an eye tracker on a different monitor.  I created the experiment using the experiment builder.  In the experiment, there is a loop of text followed by a loop of stimuli (patches).  The text appears on the other monitor with the eye tracker, but the images do not appear.  After exiting, I get a warning "Couldn't measure a consistent frame rate.  Is your graphics card set to sync to vertical blank? Are you running other processes on your computer?"  

I was wondering, is the problem occurring because I have the size of the patch (in the loop) set to "from exp settings" and not a standard measurement?  Is there any other way to solve the problem rather than changing the size?

Thank you,
Rachel

Jonathan Peirce

unread,
Aug 27, 2012, 3:33:30 PM8/27/12
to psychop...@googlegroups.com
This isn't likely anything to do with stimulus size. It might be that
your graphics card driver is set not to sync to vertical blank (if on
windows). Could you go to coder view and run the demo
timing>timeByFrames
That should result in a grph that shows your frame intervals. Could you
save a copy and mail it back to us? Also the output of the sysInfo demo
would give us a better chance of understanding the problem.

Jon
> --
> You received this message because you are subscribed to the Google
> Groups "psychopy-users" group.
> To post to this group, send email to psychop...@googlegroups.com.
> To unsubscribe from this group, send email to
> psychopy-user...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>

--
Jonathan Peirce
Nottingham Visual Neuroscience

http://www.peirce.org.uk/

Rachel Weintraub

unread,
Aug 27, 2012, 6:19:55 PM8/27/12
to psychop...@googlegroups.com
Dear Jon,

Thank you so much for your help!

I attached the copy of the graph output, as well as the text output.

-Rachel



On Mon, Aug 27, 2012 at 3:33 PM, Jonathan Peirce <jon.p...@gmail.com> wrote:
This isn't likely anything to do with stimulus size. It might be that your graphics card driver is set not to sync to vertical blank (if on windows). Could you go to coder view and run the demo
    timing>timeByFrames
That should result in a grph that shows your frame intervals. Could you save a copy and mail it back to us? Also the output of the sysInfo demo would give us a better chance of understanding the problem.

Jon


On 22/08/2012 21:35, Rachel Weintraub wrote:
Hi,

I am trying to sync my PsychoPy experiment with an eye tracker on a different monitor.  I created the experiment using the experiment builder.  In the experiment, there is a loop of text followed by a loop of stimuli (patches).  The text appears on the other monitor with the eye tracker, but the images do not appear.  After exiting, I get a warning "Couldn't measure a consistent frame rate.  Is your graphics card set to sync to vertical blank? Are you running other processes on your computer?"

I was wondering, is the problem occurring because I have the size of the patch (in the loop) set to "from exp settings" and not a standard measurement?  Is there any other way to solve the problem rather than changing the size?

Thank you,
Rachel
--
You received this message because you are subscribed to the Google Groups "psychopy-users" group.
To post to this group, send email to psychopy-users@googlegroups.com.
To unsubscribe from this group, send email to psychopy-users+unsubscribe@googlegroups.com.

For more options, visit https://groups.google.com/groups/opt_out.



--
Jonathan Peirce
Nottingham Visual Neuroscience

http://www.peirce.org.uk/

--
You received this message because you are subscribed to the Google Groups "psychopy-users" group.
To post to this group, send email to psychopy-users@googlegroups.com.
To unsubscribe from this group, send email to psychopy-users+unsubscribe@googlegroups.com.
Output.txt
timeframes.png

Michael MacAskill

unread,
Aug 27, 2012, 7:26:37 PM8/27/12
to psychop...@googlegroups.com
Dear Rachel,

That output looks good, but reading between the lines, it seems like you might be running both the eye tracker software and PsychoPy on the same computer (i.e. you have a PsychoPy window appearing on the same monitor as your eye tracking software). That probably isn't a good idea, as both pieces of software need precise timing and will be fighting for the same resources.

When you did the timeByFrames demo, was the eye tracker software running (I suspect not)?

Regards,

Michael

Rachel Weintraub

unread,
Aug 28, 2012, 11:28:10 AM8/28/12
to psychop...@googlegroups.com
Dear Michael,

Yes, that is exactly right.  I have the PsychoPy and the eye tracker software running off a laptop, which is hooked up to a monitor that has the actual camera for the eye tracker.  Is there any way to get around that problem?

I attached the graph output, as well as the text output (while the eye tracker was supposed to be running).  However, when I ran it this time the study didn't even start (before, the study ran smoothly on the second monitor up until the graphics were expected).

Thank you,
Rachel

--
You received this message because you are subscribed to the Google Groups "psychopy-users" group.
To post to this group, send email to psychop...@googlegroups.com.
To unsubscribe from this group, send email to psychopy-user...@googlegroups.com.
eye_output.txt
eye_time.png

Michael MacAskill

unread,
Aug 28, 2012, 4:59:00 PM8/28/12
to psychop...@googlegroups.com
Dear Rachel,

The usual practice for eye tracker studies is to run the stimulus presentation software and the actual eye tracking software on separate computers. (It's been that way in our lab since we were running old 486s and an analog eye tracker: as computers get more powerful, the processing demands of the eye tracking technology also grow to keep pace). In SMI demos, for convenience the system is often shown running from one laptop, but last time I checked, their recommendation for running the system seriously was still to use two computers.

Our setup (we are using iView X as well) has a PsychoPy computer with two screens: one for the subject, and one to give info to the experimenter (as you are doing). The eye tracker PC has its own monitor to display the iView interface full-screen (cues and messages to the experimenter can also be displayed within the iView X interface). The two computers communicate via network UDP messages, which are fast, simple and reliable.

It does seem that having the eye tracker software running causes dropped frames for you, so it may be worth switching to a two-PC setup. I haven't looked at the SMI Python SDK so am not sure what it provides, as we wrote our own code to control the system before that was available. The only tricky bit is the calibration: I wrote our own code to display the calibration target in PsychoPy, which moves in response to iView calibrating each position. You could adopt that code, look into the SMI SDK, or simply use the SMI-provided software WinCAL, which runs on a separate computer to run the calibration stimulus. We didn't use that, as keeping the calibration within PsychoPy allows us to easily choose to check and re-do calibrations in between trials, rather than having to switch to other software, which can introduce communication problems.

Happy to work with you off-list if that would be useful.

Regards,

Michael

Rachel Weintraub

unread,
Aug 29, 2012, 2:10:29 PM8/29/12
to psychop...@googlegroups.com
Dear Michael,

Thank you for all this information.  Yes, I may take you up on your offer to help me off-list.  I am going to try to figure out what is the best option is and I will get back to you about it.

-Rachel

Hedwig

unread,
Jan 25, 2013, 7:29:29 PM1/25/13
to psychop...@googlegroups.com, rrwei...@gmail.com
Hi,
I also got the same error message without having another software or device connected to the Psychpy carrying pc.
II attached the figures from the Time by frame demo, they look different from what Rachel has posted here.
Any idea what's wrong?
Thanks,
Hedwig
TimebyFrames_Hedwig.pdf

Sol Simpson

unread,
Feb 9, 2013, 8:01:57 AM2/9/13
to psychop...@googlegroups.com, rrwei...@gmail.com
Sorry for the late input on this, so it may be of no help anymore, but for reference, the ioHub package (www.github.com/isolver/ioHub/) allows you to run psychopy and the eyetracking software on the same PC by using a separate process for the input device control / data collection that runs in parallel to the psychopy application process. As long as you are running on a multicore computer, using PsychoPy + ioHub together, is conceptually 'like' running psychopy on one PC and the eye tracking software on another, but instead of 2 PC being used, 2 CPUs or CPU cores are. This is all handled 'behind the scenes' for the user of the API. This works very well; not only does it allow parallel collection of device inputs by ioHub as the psychopy script runs, regardless of what the psychopy script is doing, but it also frees the CPU core the psychopy script is running on from having the overhead of running the eye tracker interface logic, as this is handled on a separate process, running on a separate CPU core. I have worked with a lab at RIT using psychopy and ioHub and, with everything running on an Intel i5 laptop including the SMI iView software, we have collected data from an SMI iView remote system at 240Hz and collected 8 channels of analog to digital data inputs from a DPI system at 1000 Hz (at the same time), while also running the psychopy experiment. This has been run many times now . No frames or data is dropped.

It should noted that the SMI implementation of the common eye tracker interface in ioHub, while usable, has several outstanding issues. One is that it 'only' works on single PC setups and not 2 PC setups which has previously been required to get good timing as Michael has correctly pointed out. This should change in 4 weeks time or so, as has just been agreed last week that SMI will be lending me an eye tracker and I will likely re-write the SMI implementation for ioHub using the UDP interface, based on Michael's code that he provided in support of the project over 6 months ago now,  instead of using the C API that SMI used to write the current interface in. Better late than never I guess. ;)

I will be releasing an major update to the ioHub package (including much better documentation) after returning from Europe in about 3 weeks. Related to eye tracking, the release will contain interfaces to the EyeLink and Tobii eye tracking systems and the current SMI interface. As soon has the SMI interface has been rewritten it will be updated. I will be making this a high priority when I get back from this trip.

Thank you.

Sol 
Reply all
Reply to author
Forward
0 new messages