最大限度地减少显示延迟。图形软件堆栈?进程优先级?实时操作系统?

最大限度地减少显示延迟。图形软件堆栈?进程优先级?实时操作系统?

我希望找到一种设置来最大限度地减少心理物理学和电生理反应时间实验的显示延迟。我并不是在谈论每帧上昂贵的图形计算,只是在正确的时间在屏幕上显示一系列图像,并检测用户输入。该实验室目前使用 Matlab 来显示图像,并且在 Windows 计算机上的屏幕显示时间约为 80 毫秒(使用靠近屏幕的光电传感器测量)。最有问题的不是延迟本身,而是可变性:如果延迟是恒定的,您可以从测量的时间中减去它以获得真实的反应时间。

根据本文它们是不同级别的图像处理的各个步骤,这些步骤可能会等到下一帧,这样它们就会累加起来,并且在您说完几帧后,您最终会在屏幕上得到想要的图像。

无论如何……我把 Arch Linux 放在一台仅用于此目的的机器上。它有一个 Intel 显卡并连接到 VGA 显示器。这个想法是在实验进行时几乎没有其他软件在运行。我想要有关如何显示图像的建议。我不需要桌面环境或窗口管理器。我不确定我是否需要X。我读过而且看起来如此多的间接可能会花费一些延迟。我对这一切几乎一无所知,但我愿意学习,所以我正在寻找的是关于我的努力方向的一般建议。

还有实时操作系统(或内核补丁),例如 ChronOS 或 ART-Linux,但它们似乎在更精细的时间尺度上有用。

如果所有这些都过于雄心勃勃并且看起来像是很多不必要的工作,那么如果我能想出比 matlab 更低级别的任何东西,我仍然会很高兴,我猜这会增加一些开销。

编辑#1

我找到了 svgalib,它看起来很好很简单(而且很旧)。我会尝试一下,看看会发生什么。

相关内容