我的实验有时间问题,我正试图实现一个带有闪烁框的ssvep拼写器。在每一帧,我实现以下代码,创建具有指定颜色的矩形,并使用“drawtext”来指示字母的文本。但是,当我这样做时,丢失的翻转数量非常高(超过90%),当我删除所有文本绘制时,性能是正常的,非常好(大约1%)。
我使用的是windows7 64位,使用matlab 2017b,psychtoolbox-3,我已经安装了gstreamer。
我的问题是如何在不出现性能问题的情况下正确显示文本?我尝试了drawtext和drawformattedtext,但没有变化。我试图将字母保存到纹理中并加载纹理,但我不确定如何显示文本并在其上绘制框,使它们都显示出来。
谢谢。
function all_rects = create_rects(char_struct,window,drawing_colors,drawing_color_index,black,cue,text_texture)
penWidthPixels = 2;
Screen('TextFont', window, 'Courier New');
Screen('TextSize', window, 15);
num_targets = length(char_struct);
all_rects = nan(4,num_targets);
for i=1:num_targets
baseRect = [0 0 char_struct(i).size(1) char_struct(i).size(2)];
all_rects(:,i) = CenterRectOnPointd(baseRect, char_struct(i).x_location, char_struct(i).y_location);
Screen('FillRect