rohit-n / dominatrix

A new port for SiN
49 stars 0 forks source link

Jittery Movement #18

Open snekyo opened 5 months ago

snekyo commented 5 months ago

The player's movement is jittery. I also experience a bunch of screen tearing, even though I have the "sync every frame" option on. This may be an unrelated bug.

rohit-n commented 5 months ago

What platform are you running on? Can you go to the console and try to set cl_maxfps to a lower value, like 10?

snekyo commented 5 months ago

I'm using Windows 10, and vsync should be on. I'll try and run it on Steam to see the fps counter.

snekyo commented 5 months ago

Huh, even with "sync every frame" on, which I'm guessing is vsync, I'm getting around 600 fps. I have a 60 Hz monitor. I'm still having the jittery movement too, while I'm getting this high amount of fps.

WulfBloodfang commented 5 months ago

Just for your own reference in figuring out what's going on;

I had the same issue at default FPS of 60. 144 Hz monitor. Windows 11. Steam copy of SiN Gold.

Turned on vsync, or "sync every frame" which I assume is vsync, and the issue was fixed. Mostly. When moving from one large area to another the issue will crop up again. Like, in empty, connecting hallways. Take from that what you will.

snekyo commented 1 month ago

Just for your own reference in figuring out what's going on;

I had the same issue at default FPS of 60. 144 Hz monitor. Windows 11. Steam copy of SiN Gold.

Turned on vsync, or "sync every frame" which I assume is vsync, and the issue was fixed. Mostly. When moving from one large area to another the issue will crop up again. Like, in empty, connecting hallways. Take from that what you will.

Hey, were you using an AMD card? The issue is completely gone for me, now that I got an NVIDIA card.

Grunerd commented 1 week ago

It appears to be an issue with Id Tech 2's 10hz tickrate and client-side prediction. When cl_predict is set to 0, this jitter goes away, but due to the nature of a hard-coded tickrate, movement feels delayed and simply wrong.

To read more into this issue: https://github.com/skullernet/q2pro/issues/177

Basically, we'd need to adjust the gamex.dll and ideally implement fps-based tickrates or at least add options for 60, 120, 144 etc.

I experience this with my RX6900XT (Windows 10, i7 7700k, 16gb RAM).

Manually capping FPS (cl_maxfps) or enforcing vsync through the driver has no impact.

rohit-n commented 1 week ago

Thanks @Grunerd ! I had no idea the issue was in the game library. I'll try to fix this when I have some free time.