Stimuli Frequency using ProjectorFramePacker

Hi All,

I’m trying to run an experiment where I would want the stimuli frequency to be greater than 60 and I’m using the ProjectorFramePacker module from Psychopy to achieve this.
While I’m able to display the stimuli at 180FPS, I wish to display the stimulus at a lower frame-rate ( 60 < FPS < 180). Would it be possible to do this? I tried to modify the win._monitorFrameRate, win.monitorFramePeriod and win.refreshThreshold values, however, they don’t seem to work.

Appreciate any pointers as to what I may be doing wrong here.

Thank you,
Shravan

You need to set your screen refresh rate at the operating system level, before you start the experiment.

Hi Michael,

Thank you for your quick response. When you say the screen refresh rate needs to be modified, does it have to be 1/3rd the win._monitorFrameRate?
Also, I would assume the screen refresh rate is fixed for a given resolution especially considering input is over HDMI and can’t be updated.

Thank you,
Shravan

You have to start with the hardware limitations. If the projector expects input at 60 Hz, and unpacks that to display images at 180 Hz, that is what the software needs to feed it. You can only run at a display refresh rate that the hardware supports. So start with the documentation of that first.

There are plenty of displays that run at rates higher than 60 Hz - e.g. LCD monitors can commonly run at 144 Hz. You might just want to use one of those rather than muck around with frame packing.

Understood, however, would it be possible for me to unpack it to display 120 frames instead of 180 while maintaining the same screen refresh rate of 60FPS.

That would only be possible if the projector was set to only unpack two images rather than three. I would guess that’s not under control from us at the software end.

Got it. Thank you so much.

This does depend on the hardware. Maybe there is a driver that allows the display mode to be controlled through software. e.g. I think the TI LightCrafter has a Python module that might be able to do what you want - it all depends on the specific hardware.