Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Supported by

test suite results

Hello everyone,

I tried the expyriment test.suite on three different operating systems (Windows 10, unbuntu 18.04, and a Mac version) and I got visual_timing_inaccuracy of 7ms and a variable timing delay of >=95% on all systems. When we tried the Open Sesame test suite with the psychopy backend we had (on the Mac) a 0ms inaccuracy...

Here is the whole protocol of the test on the Linux computer: (had to copy and paste since I couldn't upldoad the file - deleted the opengl extension and the actual timing - if needed can copy below)

hardware_audio_card: HDA-Intel - HDA Intel PCH

hardware_cpu_architecture: x86_64

hardware_cpu_details: Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz

hardware_cpu_type: x86_64

hardware_disk_space_free: 858079 MB

hardware_disk_space_total: 930177 MB

hardware_internet_connection: Yes

hardware_memory_free: 30845 MB

hardware_memory_total: 32045 MB

hardware_ports_parallel: ['parport0']

hardware_ports_parallel_driver: pyparallel

hardware_ports_serial: [<serial.tools.list_ports_linux.SysFS object at 0x7ff85a40b630>, <serial.tools.list_ports_linux.SysFS object at 0x7ff85a416ef0>, <serial.tools.list_ports_linux.SysFS object at 0x7ff85a416dd8>]

hardware_video_card:

os_architecture: 64bit

os_details: XFCE, xubuntu

os_name: Ubuntu

os_platform: Linux

os_release: 5.0.0-27-generic

os_version: 18.04

python_expyriment_build_date: Thu Mar 9 13:48:59 2017 +0100

python_expyriment_revision: c4963ac

python_expyriment_version: 0.9.0

python_mediadecoder_version:

python_numpy_version: 1.17.2

python_pil_version: 6.1.0

python_pygame_version: 1.9.6

python_pyopengl_version: 3.1.0

python_pyparallel_version: 0.3

python_pyserial_version: 3.4

python_sounddevice_version: 0.3.13

python_version: 3.6.8

settings_folder: None

testsuite_visual_flipping_user: 1

testsuite_visual_opengl: 2

testsuite_visual_opengl_renderer: b'Mesa DRI Intel(R) HD Graphics 530 (Skylake GT2) '

testsuite_visual_opengl_vendor: b'Intel Open Source Technology Center'

testsuite_visual_opengl_version: b'3.0 Mesa 19.0.8'

testsuite_visual_pygame_driver: x11

testsuite_visual_pygame_screensize: (2944, 1080)

testsuite_visual_sync_refresh_rate: 61.0 Hz

testsuite_visual_timing_actual: [#deleted cause rounded values below in timing_todo]

testsuite_visual_timing_delay_histogram: {0: 180}

testsuite_visual_timing_delayed: 95.0 %

testsuite_visual_timing_inaccuracy: 7 ms

testsuite_visual_timing_todo: [46, 49, 46, 15, 17, 32, 23, 58, 8, 16, 18, 11, 8, 39, 31, 6, 13, 48, 0, 3, 19, 3, 42, 30, 20, 2, 58, 48, 36, 19, 55, 48, 35, 26, 44, 22, 29, 31, 36, 50, 13, 43, 54, 27, 37, 43, 39, 38, 55, 41, 1, 42, 12, 22, 53, 41, 18, 8, 5, 40, 52, 3, 15, 6, 17, 29, 58, 7, 9, 33, 32, 36, 30, 57, 45, 45, 47, 44, 35, 46, 13, 27, 7, 34, 15, 40, 53, 44, 17, 14, 16, 50, 56, 57, 49, 12, 7, 14, 5, 55, 38, 42, 25, 23, 37, 33, 38, 24, 4, 26, 14, 32, 45, 12, 0, 52, 20, 24, 10, 6, 51, 51, 10, 25, 21, 21, 33, 34, 20, 5, 47, 49, 26, 54, 22, 11, 28, 47, 10, 16, 51, 59, 31, 24, 4, 37, 54, 28, 59, 53, 39, 56, 9, 35, 27, 59, 0, 40, 4, 21, 2, 1, 57, 23, 29, 56, 43, 11, 9, 19, 18, 2, 50, 25, 1, 28, 34, 41, 30, 52]



My questions: I don't really understand the results and what effects them - the explanation of within the documentations don't really help, since they only state what the output "visual_timing_inaccuracy" tests but not what can cause this value to be good (green - 0ms) or bad or what to do when it is bad) I read somewhere that the graphics card can cause a inaccuracy - all three systems have an internal graphics card, but that would not explain why we got a 0ms inaccuracy when using the psychopy backend within open sesame?

Can someone help me interpret the results and possible causes for the difference? My experiment is finished in expyriment but with these test results we cannot trust it...

Thank you!

Comments

  • Hi there,


    Quick explanation first:

    Accurate stimulus presentation reporting in Expyriment is achieved by blocking the code execution of the present method of the stimulus, until the actual physical drawing of the stimulus on the display happens. That is, the method only returns once this happened. Since the display also should only write when the vertical retrace is at the left top, and since we know the refresh rate of the screen, Expyriment can test, when the present method returns for any two stimuli s1 and s2 presented after each other. If everything works correctly, then once s1 returns, it must take exactly one refresh rate before s2 can return. If this is not the case, there is an inaccuracy in reporting (meaning, the method just returns immediately without waiting for the actual physical change to happen), and we can measure the average inaccuracy by repeating that test several times.


    Now to solving your inaccuracy problem:

    Have you tried using alternative blocking in Expyriment (expyriment.control.defaults.open_gl = 3)? If I remember correctly, then this should be equivalent to how PsychoPy blocks on the vertical retrace. Hence, this should at least bring your Mac results in line with what you measured with PsychoPy. It might also do the trick for the other OS. There are two ways to run the test suite in alternative blocking mode:

    (1) From within Python:

    import expyriment as xpy
    
    xpy.control.defaults.open_gl = 3
    xpy.control.run_test_suite()
    

    (2) From outside of Python:

    python -m expyriment.cli -3T

    If that does not help on your other machines, then you should make sure that the video card settings (using your video card vendor's configuration tool) have any form of power saving switched off, and vsyn switched on.

    If this still does not lead to proper stimulus presentation reporting accuracy, then it might also be that your video card just does not allow blocking on the vertical retrace via OpenGL. While rare, we have seen this at least once with an Intel integrated video card. We have generally good experiences though with Nvidia.


    I hope that helps. Let me know if you need further help.

Sign In or Register to comment.