Question 144FPS at 144HZ looks choppy, but 120hz seems fine? Aopen 251HMQ

Nov 18, 2020
2
0
10
Hello! I am new to the forum.

I am having a rather baffling (to me) problem in which general Google searching seems to be of no help.

When running games on a monitor set to 144hz, the motion stutters.

I am programming an indie video game, and one of my overall goals is to make the game frame rate independent, and thus, refresh rate independent. (I won't go into much detail about it since it's not really that relevant, but it involves running a portion of the game logic on its own fixed-speed thread and then filling the gaps with interpolation.)

At first, I thought something was wrong with my code when I began to encounter this issue. But then I noticed things that have eliminated that possibility from my mind.

First of all, the problem exists in other games made with completely different engines. The graphics api appears to also not affect the issue - OpenGL and DirectX have the same results.

Next, 120hz works fine. It's silky smooth with vsync enabled and even looks really good with vsync disabled. Even 60hz visually looks better than 144hz right now.

Both HDMI and DisplayPort yield the same results.

The overwhelming majority of threads that I find when searching for this problem on Google say that my GPU is most likely not fast enough to handle 144hz at 1080p.
While one can never be 100% sure, my card is an Nvidia Geforce GTX 1050 ti, the game(s) I am testing are all retro games that should run on any computer made in the last decade (think DooM source ports, etc), and I have tried the custom resolution of 854x480 @ 144hz, a ratio-accurate downscaling of the standard 1920x1080 resolution to 480p. That behaves exactly the same, albeit with less pixels. On top of all that, without vsync I get 300 FPS or more at 1080p. I am unconvinced that my GPU is under-performing.

The refresh rate is being set correctly as far as I can tell. I've been setting it myself using the Windows generic monitor "Advanced Settings" dialogue before all diagnostic tests. 144hz is not grayed out as an option, either. The monitor has a built-in refresh rate overlay (it looks like a standard FPS counter) that can be enabled, and it's reporting to be operating at 144hz.

The problem persists after upgrading my drivers. They were outdated by about 6 months, but upgrading seemed to make no difference.

An operating system reinstall did not help. It also persists across Windows versions - I am running a dual-boot between Windows 7 and Windows 10, both of which experience the issue.

The issue does not, for some reason, have a noticeable effect on the mouse cursor. It's possible that it's still there and I just haven't noticed it.

I am running Aero on Windows 7 and Windows 10 has a rough technological equivalent running at all times out of the box, so it's not some legacy GDI issue.

The problem even carried over to another computer when I plugged my 144hz monitor into it and tested it there. That's why I'm beginning to think that I must be missing something that I should know.

FreeSync and G-Sync are currently disabled in order to simplify game development. As far as I know, these technologies are much more useful when the frame rate falls between the refresh rate and half the refresh rate (73 through 143).



Information about my system:

Current Operating System:

Windows 7 and Windows 10 Dual Boot

Current GPU Driver Version:
Official driver 457.30 from Nvidia's download site. Both copies of Windows have the same version, albeit from two different downloads.

Monitor:
Aopen 25MH1Q

CPU:
AMD FX-6300

GPU:
Nvidia Geforce GTX 1050 ti

Motherboard, etc:
Gigabyte 970A-DS3P
16gb DDR3 Ram

Additional Information:
All software that currently injects overlays or other system-wide graphics modifications are set to run on demand and not upon startup. This includes Steam, Discord, Geforce Experience, etc.



This issue is driving me crazy because I can't seem to find any information on it! It's like I'm the only one having it. Google keeps trying to sell me additional 144hz monitors on Amazon or link me to forum threads of people trying to play 60FPS videos at 144hz without Freesync, G-Sync, etc. Or, of course, threads saying that running less than 144FPS will cause the issue, even though I am running at 144FPS exactly.
 
Last edited:
Can you describe how it looks? Is the screen tearing? Are there artifacts on the display? One thing that it could be is that your CPU is not optimized for your GPU (considering the AMD FX series is 10 years old). It could just be that the CPU is struggling to render the graphics. My PC with it's Phenom ii 955 x4 (11 years old) has the same problem. I have it paired with a GTX 980ti. When I play CS:GO on max settings, I get 280 frames per second, and on my display, I see a massive amount of tearing, ghosting, and an occasional stutter and artifact. The display also will occasionally look a bit grainy. I also tested the same game with a GTX 660, it ran buttery-smooth at 80 frames, with minimal tearing and ghosting. It led me to conclude that the GPU was being held back by my CPU.
 
It looks like movement stuttering. No tearing.

Take, for example, a first person shooter. One with minimal camera bob and what-not, to make it simpler. At constant 120fps at 120hz, if I focus on a pillar or random object and strafe sideways while not rotating the view, the object will move at a constant, silky smooth rate. If I do the same thing at constant 144fps at 144hz, the object has lots of moments where it just 'snaps' to a new position in one frame instead of what should have been multiple frames. Stuttering.

So you're saying that a cpu can be powerful enough to run the game at 144+ frames per second but weak enough to bottleneck it before the rendered frames can get to the gpu? I was under the impression that vsync, due to its nature of waiting for a blank, would prevent a game from rendering faster internally than the cpu could actually spit out frames to the gpu.

If the break is there, then that would explain much, but it's also highly unintuitive - some blogger should write and article about this!
 
Last edited:
So you're saying that a cpu can be powerful enough to run the game at 144+ frames per second but weak enough to bottleneck it before the rendered frames can get to the gpu? I was under the impression that vsync, due to its nature of waiting for a blank, would prevent a game from rendering faster internally than the cpu could actually spit out frames to the gpu.

Vsync essentially halves the output rate if you miss a refresh window; the previous frame essentially gets duplicated to fill the gap, which can (and does) lead to stuttering if you are hovering right around the monitors refresh rate.

(I won't go into much detail about it since it's not really that relevant, but it involves running a portion of the game logic on its own fixed-speed thread and then filling the gaps with interpolation.)

Gentle reminder: Windows will run that thread whenever it gets around to it; Windows in no way guarantees thread timing.