Difference between revisions of "Neurobs Presentation"

From TSG Doc
Jump to navigation Jump to search
 
(22 intermediate revisions by 3 users not shown)
Line 1: Line 1:
[[File:nbs_logo.jpg|thumb|300px]]
+
{{see also|Presentation}}
Presentation (www.neurobs.com) is a MS Windows based programming tool that allows experimenters to set up and program all sort of experiments. It is the recommended software for time-accurate experiments and therefore supported by the institutes’ (Social Sciences Faculty, the MPI and the Donders Centre for Cognitive Neuroimaging) technical groups. The technical groups offer (PhD) students a couple of preprogrammed experiments (i.e. templates), which can be adjusted to build up own experiments. In this way, the (PhD) student can efficiently program experiments fitting an technical optimal environment. This is what this course is all about. It aims at teaching programming skills, which are needed to modify the existing templates such that they meet your own demands. Because this can be quite complex, we start with short assignments, which address one basic and simple problem at a time. They will all contribute to the final assignment in which you will work on an existing template.
+
This page documents some bugs we encountered in Presentation. Users should go to the [[Presentation]] page.
  
== Course ==
+
== 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:
  
Find the presentation workshop documentation here: [[Media:Programming with Presentation 2013.pdf]]
+
<pre>
 +
wait_interval(220);
 +
picture1.present();
 +
int t0 = clock.time();
 +
picture2.present();
 +
int t1 = clock.time();
 +
int dt = t1-t0;
 +
</pre>
  
Find the presentation prereader here: [[Media:Presentation pcl pre-read 2013 .pdf]]
+
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:
  
== Template ==
+
[[File:Timeline.svg|400px|none|synchronization bug timeline]]
  
Find the presentation Template here [[file:Template2014.zip | Template 2014]]
+
The fact that ''picture1'' is shown for only 1/120 s was confirmed with a light sensor connected to an oscilloscope.
== Downloads ==
 
  
Please install this version on your computer:
+
The chance of this issue occurring is highly dependent on the waiting time prior to the first ''present()'' call:
  
32-bit: [[media:Presd172081114.zip]]
+
[[File:Occurrence.png|400px|none|synchronization bug occurrence]]
  
64-bit: [[media:Presd181020115_64.zip]]
+
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)]]
  
For the latest Package Player click [https://www.neurobs.com/menu_presentation/menu_download/package_player here]
+
<!--==References==
 
+
<references/>-->
== License ==
 
 
 
To run presentation in the labs you need a software dongle. Reserve a dongle when you book a lab. If you need a dongle for research outside the university you could discuss time limits with Ronny Janssen.
 
 
 
When you want to run in in your office use the network license. Boot presentation, choose option '''"activations" -> "Network"'''
 
 
 
Fill in the following within the "'''Network License Settings"''':&nbsp;
 
 
 
 
 
{| class="wikitable"
 
|-
 
! Enable Hostname:
 
| lic-pres.socsci.ru.nl
 
|-
 
! Port:
 
| 1245
 
|-
 
! Timeout (ms):
 
| 5000
 
|-
 
|}
 
 
 
[[File:PresentationLicentie.jpg | 700px ]]
 
 
 
== Troubleshooting ==
 
 
 
==== Version History ====
 
 
 
For version history please click here: http://www.neurobs.com/menu_presentation/menu_download/version_history
 
 
 
==== Fixed Bugs ====
 
 
 
For fixed bug / known bugs please click here: http://www.neurobs.com/menu_support/menu_help_resources/known_bugs
 
 
 
==== Forum ====
 
 
 
For various information please click here: http://www.neurobs.com/menu_support/menu_forums/contents_page
 
 
 
==== Wiki ====
 
For the wiki click here: http://www.neurobs.com/menu_support/nbs_wiki
 
 
 
==== Compatiblity Issues ====
 
 
 
*Always check beforehand in which version the script was written.
 
*New versions do not always maintain backwards compatibility.
 
*Features can get removed, or changed.
 

Latest revision as of 11:36, 18 January 2016

See also: Presentation

This page documents some bugs we encountered in Presentation. Users should go to the Presentation page.

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:

wait_interval(220);
picture1.present();
int t0 = clock.time(); 
picture2.present();
int t1 = clock.time(); 
int dt = t1-t0;

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:

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:

synchronization bug occurrence

Neurobs people seem to think it has something to do with triple buffering, but the graph above was created without triple buffering enabled.

Difference of arrival times of two consecutive markers (no red bars are hidden)