跳转到内容

MATLAB 编程/Psychtoolbox/屏幕命令/偏好设置

来自维基教科书,为开放的世界提供开放的书籍

用法

boolean=Screen('Preference','Backgrounding')
oldBoolean=Screen('Preference','IgnoreCase',[boolean])
psychTableVersion=Screen('Preference','PsychTableVersion')
mexFunctionName=Screen('Preference','PsychTableCreator')
oldPriority=Screen(windowPtrOrScreenNumber,'Preference','MaxPriorityForBlankingInterrupt',priority)
oldBoolean=Screen(windowPtrOrScreenNumber,'Preference','WaitBlankingUsesInterrupt',[boolean])
bits=Screen(windowPtrOrScreenNumber,'Preference','ClutDacSize')
boolean=Screen(windowPtrOrScreenNumber,'Preference','FixedClut')
oldBoolean=Screen(windowPtrOrScreenNumber,'Preference','SetClutDriverWaitsForBlanking',[boolean])
oldBoolean=Screen(windowPtrOrScreenNumber,'Preference','SetClutQuickly',[boolean])
oldBoolean=Screen(windowPtrOrScreenNumber,'Preference','SetClutCallsWaitBlanking',[boolean])
oldFrames=Screen(windowPtrOrScreenNumber,'Preference','SetClutSimulatesBlankingInterrupts',[frames])

获取/设置各种偏好设置。前四个是通用的,其余与WaitBlankingSetClut相关,并且是特定于屏幕的。布尔值为 1(非零)表示是,0 表示否。偏好设置是易失性的:它们在您第一次使用每个屏幕时由 SCREEN 设置,并且在关闭最后一个 SCREEN 窗口时被清除(例如,通过Psychtoolbox:Screen Commands:ClosePsychtoolbox:Screen Commands:CloseAll,或通过键入clear screen来清除 SCREEN.mex)。因此,在调用“OpenWindow”之后进行任何偏好设置。

警告:这些设置允许您访问所有确定 SCREEN 行为的内部参数。因此,参数集一直在不断变化,因为 SCREEN 正在不断发展以应对不断变化的环境(例如,不等待 blanking 的视频驱动程序和 Rush 的高优先级)。

您可以随意使用这些专家控制,但是,如果您确实使用它们,请意识到您可能需要在每次 PsychToolbox 新版本发布时调整您的“Preference”调用。

  • SetClutDriverWaitsForBlanking 报告显示器的视频驱动程序是否等待 blanking。通常是只读的,您也可以在 PowerMac 7300/7500/7600/8500/8600 内置驱动程序上设置/清除它。
  • SetClutQuickly 指定您是否使用自定义 SetEntriesQuickly.c 驱动程序(如果该设备可用)来代替标准视频驱动程序的偏好设置。SetEntriesQuickly 驱动程序不等待 blanking。
  • SetClutCallsWaitBlanking 确定是否应在每次调用 SetClut 后调用 WaitBlanking。
  • SetClutSimulatesBlankingInterrupts 设置/获取每次 SetClut 后模拟的 blanking 中断次数,以弥补 SetClut 调用期间丢失的中断。
  • WaitBlankingUsesInterrupt 指定是否应使用 SetClut(原始驱动程序)或屏幕的 blanking 中断来等待 blanking 的偏好设置。请参见“WaitBlanking”。
  • MaxPriorityForBlankingInterrupt 指定硬件 blanking 中断仍然有效的最大优先级。通常情况下,这是 1,但如果需要在 3 毫秒的时间间隔内对 spurious VBL 中断进行计时(在此时间间隔内, spurious VBL 中断将被忽略),则会降至 0.5(在非 PCI Mac 上)。您的程序可以覆盖此设置,但您的计算机可能会挂起,除非您真正了解自己在做什么。
华夏公益教科书