1

设置:Matlab Student 2014、Psychtoolbox 3.0.12、GStreamer 1.4.3、ATI Radeon 69xx,全部在 Windows 7 上,全部为 64 位

屏幕使用不同的参数,仅在Screen('OpenMovie'整个程序(Matlab)崩溃时 - 有时出现错误(无法同步帧速率),有时根本没有错误。

我知道它非常具体,并且我认为它在我的配置中(代码将在不同的系统(实验室)上运行)。

到目前为止我已经尝试过:

  • Psychtoolbox 3.0.11、GStreamer SDK、GStreamer 1.4.1
  • 更新的 ATI 驱动程序(完整的催化剂控制中心,..)
  • 删除了多显示器设置(使调试变得更加困难......)
  • Matlab 本身可以工作,GStreamer 也可以(尝试用 playbin 播放电影)
  • 任何 SyncTrouble 状态:等待垂直同步,三重缓冲关闭
  • 覆盖同步测试或完全跳过(也崩溃)
  • 寻找丢失的 dll(对于 Screen.mexw64)
  • VBLSyncTest 和 PerceptualVBLSyncTest 看起来不错并且有结果(对我来说)

它必须要么非常简单,要么非常具体——我不知何故没有想法。我的猜测是 Radeon 垂直同步设置不起作用 - 出于什么原因。

任何猜测,提示都是赞赏的。(甚至在 Matlab/Psychtoolbox 中测试屏幕或垂直同步的其他方法)

4

1 回答 1

0

经过数小时的搜索,我想我找到了解决方案 - 哦 Windows!(哦,一行简单的代码)

Screen('Preference', 'ConserveVRAM', 4096);

4096 == kPsychUseBeampositionQueryWorkaround 告诉 PTB 始终使用 MS-Windows 上 VBL 中损坏的波束位置查询的解决方法,即使自动启动测试未检测到任何问题。这适用于测试无法检测到损坏设置的极少数情况。[心理工具箱文档]

在某些 Videocache 操作并重新启动后,我将进行重新检查。


编辑: 好吧,那只工作了一次,第二次随机工作-似乎ATI Radeon驱动程序的行为不太确定-我还在Linux(Ubuntu 14.04.1)上进行了检查。具体来说,垂直同步速率似乎表现得有些奇怪。

不过,它通常可以在具有开源radeon驱动程序(而不是fglrx那些)的指定 Linux 上运行。-> 该 Linux 系统上的问题:它只能配置为一个屏幕(两个监视器设置对于在一个屏幕上进行调试会很好)。(是的,我尝试过:Unity、Gnome、Xmonad、Gnome+Xmonad - 但我想那是另一回事了)

好吧,我写的够多了,我的解决方案:使用 Linux 发行版(虽然很不满意,因为我无法完成所有工作)。

于 2014-10-29T21:23:20.267 回答