http://peterscarfe.com/accuratetimingdemo.html
運(yùn)行結(jié)果:屏幕按灰色——紅色——紫色——藍(lán)色順序顯示,每個色塊顯示1s
程序幾點知識:
topPriorityLevel =MaxPriority(window);
% 檢索window的最高權(quán)限
Priority(topPriorityLevel);
% 設(shè)置為最高權(quán)限
numSecs = 1;
numFrames = round(numSecs / ifi);
% numSecs為每個色塊顯示的時間;numFrames為顯示每個色塊需要的幀數(shù)僚焦;也就是說在numSecs時間內(nèi)顯示numFrames幀色塊
waitframes = 1;
% 表示每個色塊之間切換所需的幀數(shù)拓颓,為1表示下一幀,為2表示隔一幀前后色塊切換的幀間隔:vbl + (waitframes - 0.5) * ifi?
% Color the screen grey
Screen('FillRect', window, [0.5 0.5 0.5]);
% 給window區(qū)域著色猪勇,顏色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);
?% 回溯到當(dāng)前幀時間點vbl潦闲,再移到vbl + (waitframes - 0.5) * ifi位置處著色