0

我试图确定我的设置需要多长时间才能显示两个连续的图像。我有一个“for”循环,它显示图像并对其计时,然后将结果绘制在直方图上。我对 ms 的准确性很感兴趣,但到目前为止结果很糟糕,我想知道这是否是我的代码而不是设置。我正在使用 Matlab 和 psychtoolbox,代码如下:

clear all;
close all;
clc;
Screen('Preference','SkipSyncTests',0);
PsychDefaultSetup(0);
screenNumber = 0;
wPtr = PsychImaging('OpenWindow',screenNumber,1,[],[],2);

black = imread('aonlyblacksep.bmp');
white = imread('white.bmp');

i  = zeros(0,150);

for i = 1: 150
    tic
    Screen('PutImage',wPtr,black);
    Screen ('Flip',wPtr,screenNumber); 
    WaitSecs(0.01667);
    Screen('PutImage',wPtr,white);
    Screen ('Flip',wPtr,screenNumber); 
    WaitSecs(0.01667);
    toc 

    elapsedTime(i) = round(toc*1000);
    data = elapsedTime;
end
figure
hist(data);

fclose ('all'); 
clear mex;
sca;

我现在已经将 'data = elapsedTime 移出循环,将 Psychdefault 设置更改为 2 并在翻转命令中输入 don't clear as 1 但我仍然得到 32ms 的读数,应该是 16ms 翻转。“结果很糟糕”,我不知道我是否真的通过这段代码测量了翻转的速度。

4

0 回答 0