psychopy.org | Reference | Downloads | Github

144 Hz monitor only working at 60 Hz


#1

Good afternoon,

Recently we bought a new monitor and want to utilise the 144 Hz refresh rate. I’ve read a few posts and tried a few different things that are outlined below to make it work at 144 Hz but the PsychoPy output file still shows 60 Hz as does the timeByFrames.py demo (mean = 16.7 ms). Considering that PsychoPy doesn’t actually ‘set’ the frame rate, this is what I’ve attempted,

  1. Refresh rate is set to 144 Hz in the monitor settings (so that’s alright).

  2. I’ve turned off VSync (VerticalRefresh)

  3. Set useFBO=False

But nothing seems to give me ‘144’ or thereabouts in the PsychoPy output file or a mean of 6.9ms or thereabouts while running the timeByFrames.py demo

Thank you!


#2

You need to provide much more detail, for example (but not limited to) monitor model, graphics card, operating system, cable connection (at each end), etc. And usual advice about updating graphics driver to the latest directly from the manufacturer’s site (i.e.not relying on Windows to provide the driver).


#3

Thanks for the reply Michael. Here is more information,

Computer - Windows 7 Dell Optiplex 9020
GPU - AMD Radeon HD 8490
Monitor - ViewSonic XG2530

The monitor is connected to the computer via a DisplayPort cable. And the changes I made to the refresh rate were within the AMD Catalyst Control Centre.


#4

I’ve now tried it on a different computer and the mean from the timeByFrames demo is still 16.7 ms. Tried all combinations of turning VSync off, useFBO = False, also tried the waitBlanking and swapInterval inputs mentioned in another thread, but nothing seems to work.

Any ideas?


#5

Have you installed the OS-specific driver for that particular monitor? If not, seems to be available at the bottom of this page:

https://www.viewsonic.com/us/xg2530.html

Also check that your graphics card driver is up-to-date with the latest version from the manufacturer’s website (not from the Windows update mechanism).


#6

Yup, installed the latest drivers for the monitor from the website, and the graphics card driver is also up-to-date.


#7

Did you set the DisplayPort mode on the monitor? It looks like it defaults to v1.1, which may not support > 60Hz (should be 1.2).

Similar issue: http://www.tomshardware.com/forum/id-3532162/144hz-monitor-60hz-displayport-cable.html

Manual: http://www.viewsonicglobal.com/public/products_download/user_guide/Display/XG2530/XG2530_UG_ENG.pdf (pg 21)


#8

Thanks for the suggestion aforren1, the DisplayPort 1.1 option was indeed off (hence, it was 1.2).

So, since the OP, I have disconnected the monitor from the AMD HD 8490 and connected the monitor to the Intel integrated graphics HD 4600 via DisplayPort. Now the Intel graphics card already had another monitor connected to it via DisplayPort.

I get it working at 144 Hz when I disconnected the other monitor connected to it (i.e., if connected to the same graphics card, both are limited to 60 Hz, but disconnecting one monitor makes sure the other can run at 144 Hz). I then connected the other monitor to the AMD graphics card (need a multiple display setup), and tried running the testbyFrame.py demo, however it gives me the following error.

#####Running: C:\Users\psychlab\Desktop\PsychoPy2\lib\site-packages\psychopy-1.84.2-py2.7.egg\psychopy\demos\coder\timing\timeByFrames.py #####
Traceback (most recent call last):
File “C:\Users\psychlab\Desktop\PsychoPy2\lib\site-packages\psychopy-1.84.2-py2.7.egg\psychopy\demos\coder\timing\timeByFrames.py”, line 24, in
win = visual.Window([1280, 1024], fullscr=True, allowGUI=False, waitBlanking=False, screen=1)
File “C:\Users\psychlab\Desktop\PsychoPy2\lib\site-packages\psychopy-1.84.2-py2.7.egg\psychopy\visual\window.py”, line 340, in init
self._setupGL()
File “C:\Users\psychlab\Desktop\PsychoPy2\lib\site-packages\psychopy-1.84.2-py2.7.egg\psychopy\visual\window.py”, line 1549, in _setupGL
self.setupPyglet()
File “C:\Users\psychlab\Desktop\PsychoPy2\lib\site-packages\psychopy-1.84.2-py2.7.egg\psychopy\visual\window.py”, line 1403, in setupPyglet
style=style)
File "C:\Users\psychlab\Desktop\PsychoPy2\lib\site-packages\pyglet\window\win32_init
.py", line 131, in init
super(Win32Window, self).init(*args, **kwargs)
File "C:\Users\psychlab\Desktop\PsychoPy2\lib\site-packages\pyglet\window_init
.py", line 559, in init
self.create()
File "C:\Users\psychlab\Desktop\PsychoPy2\lib\site-packages\pyglet\window\win32_init
.py", line 263, in _create
self.context.attach(self.canvas)
File “C:\Users\psychlab\Desktop\PsychoPy2\lib\site-packages\pyglet\gl\win32.py”, line 262, in attach
self.config._set_pixel_format(canvas)
File “C:\Users\psychlab\Desktop\PsychoPy2\lib\site-packages\pyglet\gl\win32.py”, line 186, in _set_pixel_format
_gdi32.SetPixelFormat(canvas.hdc, self._pf, None)
WindowsError: exception: access violation reading 0x00000000
Exception AttributeError: “‘Window’ object has no attribute ‘useNativeGamma’” in <bound method Window.del of <psychopy.visual.window.Window object at 0x0A65te> ignored

From reading a few forums, I believe the key error is the “WindowsError: exception: access violation reading 0x00000000” bit and not the Exception AttributeError.


#9

Just another update (might have celebrated too early about achieving 144 Hz!),

Connecting the other display (a 60 Hz) monitor to the AMD, not only gives the error above but when I disconnect that monitor, the 144 Hz monitor connected to the Intel now gives a mean of 15.6 ms (~ 65 Hz refresh rate)!

If, I connect the 60 Hz monitor back on the Intel, both of them go back to 16.7 ms (60 Hz refresh rate)

I’ve reinstalled drivers and restarted the computer but it doesn’t work go back to 144 Hz. Very strange…