Neurobs Presentation: Difference between revisions
Jump to navigation
Jump to search
Wiki-admin (talk | contribs) No edit summary |
No edit summary |
||
| (76 intermediate revisions by 6 users not shown) | |||
| Line 1: | Line 1: | ||
{{see also|Presentation}} | |||
Presentation | This page documents some bugs we encountered in Presentation. Users should go to the [[Presentation]] page. | ||
This | |||
== Screen synchronization issue on 120 Hz screens == | |||
There is a serious synchronization issue where the picture.present() method returns one frame too early. It can be detected by measuring the time between two consecutive present() calls returning: | |||
= | <pre> | ||
wait_interval(220); | |||
picture1.present(); | |||
int t0 = clock.time(); | |||
picture2.present(); | |||
int t1 = clock.time(); | |||
int dt = t1-t0; | |||
</pre> | |||
One would expect ''picture1'' to be shown for 1 frame (1/120 s) and time ''dt'' to show this. Sometimes this is not the case. The image will be shown for one frame (1/120 s), but ''dt'' will be 2/120 s: | |||
[[File:Timeline.svg|400px|none|synchronization bug timeline]] | |||
The fact that ''picture1'' is shown for only 1/120 s was confirmed with a light sensor connected to an oscilloscope. | |||
== | The chance of this issue occurring is highly dependent on the waiting time prior to the first ''present()'' call: | ||
[[File:Occurrence.png|400px|none|synchronization bug occurrence]] | |||
Neurobs people seem to [http://www.neurobs.com/menu_support/menu_forums/view_thread?id=9463&expand_all=1 think] it has something to do with triple buffering, but the graph above was created without triple buffering enabled. | |||
[[File:Failsync2.png|none|Difference of arrival times of two consecutive markers (no red bars are hidden)]] | |||
<!--==References== | |||
<references/>--> | |||