| Reference | Downloads | Github

Slow framerate with a simple stimulus


I would like to use PsycoPy to present images with a precise timing and I have run into an issue. I get a very low framerate of 10-20 fps. I made a trial in “Builder” with blank screen for 60 frames and a stimulus of one image (1920x1200 pixel 24bit bmp) displayed for 60frames. I have edited the py-file created by the builder, to include a TextStim that displays frame count and frame rate (window.fps()).
The image is displayed for 3-4 seconds (even though the monitor runs at 60Hz) and the TextStim indicates that the fps is 10-15. window.fps returns 13fps initially but changes to 0fps after the first flip.

I have set the pythonw.exe to high priority and it uses a full core on the cpu. Do I need to buy a dedicated graphics card to achieve over 13 fps?

CPU i5-6500
build in graphics intel HD 530
monitor 1920x1200 @ 60Hz
ram 16GB

Thank you for the help!

  1. You probably didn’t need to edit the .py file. Inserting a code component would allow you to stay within Builder while still achieving what you need.
  2. To diagnose the problem, we need to actually see the relevant section of the code you are using . But at a guess, I’d say you are trying to update the image file on every frame, instead of just updating the text (and/or creating a text stimulus on every frame rather than just updating its text value).


When i make a simple trial in builder with only a TextStim that should display from frame 60 to frame 120 (framerate of monitor is 60Hz) and nothing else it is not displayed if i run the trial from builder, I only see a grey screen. If I change “routineTimer.add(2.000000)” to “routineTimer.add(10.000000)” (in the “” ) and nothing else and run the trial I see a grey screen for approximately 4s and the text of the TextStim for 4s, which to me indicates that the framerate is much slower than 60Hz.

I ran the demo “” and got a mean of 72.9ms and an SD of 0.28 and zero dropped frames. So my framerate is stabile around 1/0.0729s=13.7Hz

Do you have any sugestions? Is it a driver issue?