Hi,
A quick look, but I think that you pretty much nailed it: it can take quite long to do any canvas operation. Given that your screen refresh rate presumably isn’t more than 100 Hz (and in any ways, your foveal vision isn’t), I don’t see the problem? Indeed, if you were to draw many things to the main canvas, one after the other, then indeed, it gets to be a problem, but as long as the only operation is copying a “preloaded” canvas to the shown one, it doesn’t matter all that much. Notice, given that you’re not using E-Prime’s stimdisplays, it’s not clear at what time the stimulus is actually displayed – only when it’s done sending the command. I think it’s generally better for critical timing aspects of your experiment to avoid canvas as much as possible. Personally, I think “critical timing” is when it concerns a subliminal vs barely supraliminal prime or some such, for other types of stimuli the 10 ms of (constant, therefore presumably stimulus independent) delay is of trivial concern.
Just testing some of it myself, and I get values ranging between 15 and 17 – which is funny, given that my refresh rate is indeed 60, so it seems a bit like there’s some sort of display.waitforverticalblank built into canvas.copy. Curiously, this:
For j = 1 To 100
DrawFixation ‘this is just a custom function drawing a line to cnvsnext
cnvs.copy cnvsnext
display.waitforverticalblank
debug.print clock.read - clocktime
clocktime = clock.read
Next j
Gives me latencies equal to refresh rates (+- 1 ms).
Whereas:
For j = 1 To 100
DrawFixation ‘this is just a custom function drawing a line to cnvsnext
display.waitforverticalblank
cnvs.copy cnvsnext
debug.print clock.read - clocktime
clocktime = clock.read
Next j
Gives me latencies equal to 2xrefresh rates. Somebody with young eyes should tell us if the first one doesn’t have cutting-off errors, otherwise I’d suggest there might be some sort of waitforverticalblank built into canvas.copy.
Best,
Michiel Sovijärvi-Spapé
Helsinki Institute for Information Technology
Aalto & University of Helsinki
Finland
BTW: notice that using debug.print also incurs a delay (last measured at 0.7 ms).
--
You received this message because you are subscribed to the Google Groups "E-Prime" group.
To unsubscribe from this group and stop receiving emails from it, send an email to e-prime+u...@googlegroups.com.
To post to this group, send email to e-p...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msg/e-prime/-/y5hiddEu-6oJ.
For more options, visit https://groups.google.com/groups/opt_out.
- test code:
- t0 = clock.readmicrosec
- dcnvs.copy cnvs
- display resolution?
- -----
- David McFarlane
- E-Prime training online:
- http://psychology.msu.edu/Workshops_Courses/eprime.aspx
- Twitter: @EPrimeMaster (twitter.com/EPrimeMaster)
- /-----------
- ), and offers several instructional videos there and on their YouTube
- channel ( http://www.youtube.com/user/PSTNET ) (no Twitter feed yet,
--
You received this message because you are subscribed to the Google Groups "E-Prime" group.
To unsubscribe from this group and stop receiving emails from it, send an email to e-prime+u...@googlegroups.com.
To post to this group, send email to e-p...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msg/e-prime/-/0DZ5JBsrwGUJ.
To view this discussion on the web visit https://groups.google.com/d/msg/e-prime/-/Vt8fFfvwiJwJ.