- A C library for programming cognitive experiments on Windows
All differences between the Windows and Linux version of Tscope are reported here. If a function is not mentioned in this section, it will behave identical on both operating systems.
From tscope version 168 onwards this function can actually increase the priority of your program when running on Linux. It must, however, be used with care. Here are some considerations:
[mouse] mouse = EV
to the allegro configuration file. This configuration file can be found in the source directory of allegro and is called allegro.cfg. If you are using ts_scrcfg and ts_timercfg you will need to add this to your tscope.cfg file.
Currently, Tscope uses a call to the function setpriority to change the priority of the program. The priority of a program could be uncreased even further by calling sched_setscheduler and mlockall, but this would also increase the risk of locking up your system.
On Linux, Tscope programs can give up short intervals of cpu time by blocking on a read of the real time clock (/dev/rtc). This allows other processes (such as X11) to run for a short time. When running a program with higher priority in X11 mode, the waitmode should be set to SLEEP_WAIT. This can, however, only be done when running as root. If a waitmode different from the default BUSYLOOP is requested by a non-root user, the program will write a warning to the console and will continue using the BUSYLOOP waitmode.
Most input devices will work in the same way on Linux and on Windows. There are two minor differences:
The logic for selecting a vsync mode differs from the Windows version for the following reasons:
Under ideal circumstances, the function reads the status of vertical retrace signal directly from the computer's registry. In situations where that's not possible, a vertical retrace signal is simulated.
Tscope will simulate the retrace signal at the requested refresh rate in the following cases: