Skip to main content
Skip table of contents

Drawing dots at 720 Hz

In this simple demo, we set the PROPixx in Gray720 mode and draw 3 dots. At 240Hz, these dots appear on the same frame, in colour. In 720 Hz mode these three dots appear on subsequent frames.

Currently, there is no graphics card capable of drawing individual frames at 720 Hz. In order to achieve this refresh rate, the PROPixx uses a built-in “sequencer” that takes a 1280 x 720, 240Hz video signal and breaks it into multiple frames which are then displayed in sequence. In 720 Hz mode, our custom sequencer takes R, G and B colour channels and shows them full screen and in greyscale, one after the other.

Grey720 mode

First, we must ensure the GPU is sending video at 1280 x 720 @ 240 Hz. See Real time refresh rates for how to change the refresh rate of your PROPixx.

Once we are in 240 Hz, we can draw our stimuli using blending to ensure the colours stack instead of overwriting one another.

Stimulus presented on a 240 Hz display

Stimulus presented with Grey 720 sequencer. Note: This animation is slowed down for demonstration purposes. At true 720 Hz, the three dots will seem to be ‘simultaneously’ visible.

MATLAB
% Setup the PROPixx to be in Gray720.
Datapixx('Open');
if Datapixx('IsPropixx')
    Datapixx('SetPropixxDlpSequenceProgram', 10);
end
Datapixx('RegWr');

%Open a display on the Propixx
AssertOpenGL;
KbName('UnifyKeyNames');
screenID = max(Screen('Screens'));
[windowPtr,rect] = PsychImaging('OpenWindow', screenID, 0);

% Set up alpha-blending for stacking of colors
Screen('BlendFunction', windowPtr, 'GL_ONE', 'GL_ONE');

%Set up some stimulus characteristics - three simple dots
dotRadius = 30;
center = [rect(3)/2, rect(4)/2];
xoffsets = [-100, 0, +100];

positions = zeros(3,4);
colours =zeros(3,3);
for k = 1:3
    positions(k, :) = [center(1)-dotRadius+xoffsets(k), center(2)-dotRadius,...
                       center(1)+dotRadius+xoffsets(k), center(2)+dotRadius];
    colours(k,k) = 255;
end


%Start displaying dots
while ~KbCheck
    for k = 1:3
        Screen('FillOval', windowPtr, colours(k,:), positions(k,:));
    end  
    Screen('Flip',windowPtr); 
end
        
Screen('Closeall');
Datapixx('SetPropixxDlpSequenceProgram', 0);  %Revert to standard 120Hz refresh rate
Datapixx('RegWrRd');
Datapixx('Close');
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.