| Reference | Downloads | Github

How to retain intended display of experiment on different-sized monitor?

Hello, I am a beginner trying to make some experiments using the Builder in Psychopy and I’ve run into a little problem.
When I run the experiment I made on an iMac on my smaller-screened MacBook, I lose the stimuli on the outer edges of the screen - it doesn’t display the full screen.
I have tried different settings under Experiment Settings/Screen/Units, but this only distorts the experiment even more; makes my text tiny, switches proportions of different texts and of sliders, etc.
How can I fix this, so that my experiment works on a range of different-sized monitors? I wouldn’t mind scaling the frame down a bit - I just don’t know how to. I do not want to hard code a version for every different monitor, as I’d like to have just one single working experiment file that I can run on different monitors/location for a number of participants.
I hope a solution for this exists! Thanks in advance!

We can’t really tell you what to do here’, as that depends on the constraints of how you want to display your stimuli. But in essence, you should avoid defining the coordinates in something like pixels, which is highly dependent on the pixel dimensions of the particular display being used, and shift to something like cm or deg. If you define the characteristics of your displays (pixel and physical dimensions, plus distance) in the “Monitor settings” window, then your stimuli will then stay the same size when you shift to a different display: you just need to select a monitor name in your experiment settings that matches a name defined in your monitor settings.

Thank you. It’s actually only text stimuli that I’m trying to display in this particular experiment, so I’m using letter height and position [x,y]. Through trial and error I found the correct x and y. The unit of measurement say ‘from exp settings’ so Im not sure what type of measure x,y is actually taking in. Would you recommend I change the units? Would looking into wrap width help maybe? That’s currently set to None.

The experiment settings will default to “height” units, which mean that stimulus sizes are a proportion of the height of the monitor (which is set to be 2: i.e. ranging from +1 to -1). You can set the default experiment settings to be, say cm, which means that all stimuli adopt that unit, or set the units individually for each stimulus.

This can be why things change radically when you alter the units. It might be reasonable for a text stimulus to have a size of 0.1 in height units (meaning that it takes up 10% of the height of the screen), but if you switch the units to cm, 0.1 will be tiny and not even legible. So adjust the values as needed.

There is a guide here:

Hi Mona,

Please just ask the same question in one topic only, to reduce duplication of effort for people who might answer. How about you delete this post, and continue with just the other one?