Acccureate Timing Demo

http://peterscarfe.com/accuratetimingdemo.html

运行结果:屏幕按灰色——红色——紫色——蓝色顺序显示,每个色块显示1s

程序几点知识:

topPriorityLevel =MaxPriority(window);

% 检索window的最高权限

Priority(topPriorityLevel);

% 设置为最高权限

numSecs = 1;

numFrames = round(numSecs / ifi);

% numSecs为每个色块显示的时间;numFrames为显示每个色块需要的帧数;也就是说在numSecs时间内显示numFrames帧色块

waitframes = 1;

% 表示每个色块之间切换所需的帧数,为1表示下一帧,为2表示隔一帧前后色块切换的帧间隔:vbl + (waitframes - 0.5) * ifi 

% Color the screen grey

Screen('FillRect', window, [0.5 0.5 0.5]);

% 给window区域着色,颜色RGB值为[0.5 0.5 0.5]即灰色

vbl =Screen('Flip', window);

 % 滑到下一帧

for frame = 1:numFrames 

% Color the screen red 

Screen('FillRect', window, [0.5 0 0]); 

% 着色

 % Flip to the screen

 vbl = Screen('Flip', window, vbl + (waitframes - 0.5) * ifi);

 % 回溯到当前帧时间点vbl,再移到vbl + (waitframes - 0.5) * ifi位置处着色

你可能感兴趣的:(Acccureate Timing Demo)