aidor
New Member
Posts: 9 Likes: 1
|
Post by aidor on May 28, 2022 13:18:34 GMT
Hello,
First of all, thank you very much for this engine. It works very well, especially the gamepad support.
I have two small issues: first, that the game runs at 120fps (my screen refresh rate), which is fine, but it is not completely smooth and there is a slight 'jittering'. With the mouse it is almost not noticeable, because the screen movements are more abrupt, but with the gamepad the movement is more progressive and linear, and it is more noticeable. Is there any solution? Trying with vsync on/off does not change.
The other problem is that at 1080, the game runs at around 3500fps (¿?), but at 4K it drops to 40-50fps. Why so much difference?
Thanks in advance.
|
|
|
Post by lucius on May 28, 2022 20:32:46 GMT
As for the first issue, I'm not sure - since gamepad is smooth for me. I will have to look into it in the future. As for the second issue is that currently, only the software renderer is available. That means that it is sensitive to fillrate, and the number of pixels to fill at 4k is about 4x as much as 1080p. So that means 2x as many columns to draw and 4x as much memory to transfer to the GPU every frame. Unfortunately, the original renderer (and thus TFE) is column-based, meaning it doesn't play well with modern CPUs (specifically being very cache-unfriendly). So two things are probably happening - 1) hitting a performance wall in terms of CPU->GPU transfer rate, 2) increased memory thrashing due to poor cache behavior and larger buffers. At the end of the day, TFE is running a modified DOS renderer (greater precision for increased resolution) that is being pushed to resolutions over a hundred times what it was originally designed for. Considering that, it works pretty well.  Anyway, version 1.0 will introduce the GPU renderer which should solve your performance issues.
|
|
aidor
New Member
Posts: 9 Likes: 1
|
Post by aidor on May 29, 2022 13:06:33 GMT
As for the first issue, I'm not sure - since gamepad is smooth for me. I will have to look into it in the future. As for the second issue is that currently, only the software renderer... yes, about the first problem, with the gamepad, if you rotate the camera to make a 360° turn in let's say about 4-5 seconds, with a fixed and constant camera speed, you can see that little jittering. It is not like stuttering, because stuttering is usually a type of punctual lag. Here there is a small, constant and homogeneous 'jittering', like a small stuttering/lag every 0.2 or 0.3 seconds. I don't know if I explain myself. I hope you can reproduce the problem, and I will be waiting to see your answer. Regarding the second problem, yes, I understand that when using software rendering the limitations are multiplied, and that 4K is four times 1080p. But 3500fps is much more than 4 times 50fps. In any case, 1080p is enough for this game right now. But I think I will wait and look forward to your version 1.0. It's been a long time since a want to replay this game and I guess I can wait a little more. This gamepad support is what I was waiting for, and I hope you can reproduce and fix this 'jittering' issue and make a complety smooth experience. Thanks!!
|
|
|
Post by stingymcduck on Dec 22, 2022 15:58:06 GMT
Hello.
I tried version 1.0 I also can see the jittering/stuttering you mention. I tried enabling/disabling vsync, both in game and in the nvidia control panel, limiting my framerate, enabling/disabling gsync.
What I found as a solution (have to try it a little more to be sure) was to limit my framerate to half my max refresh rate (72fps for a 144hz display), which is a little weird because gsync was working and the refresh rate was being dynamically adjusted when trying 120fps or other framerates.
|
|
|
Post by lucius on Dec 22, 2022 18:13:02 GMT
The issue you are running into is the logic update limit in the original code. Time is quantized into ticks and so when the framerate is very high, you don't get a logic update every frame. In the future, there are plans for interpolation which should smooth that out (similar to some Doom source ports).
|
|
|
Post by stingymcduck on Dec 22, 2022 19:15:52 GMT
The issue you are running into is the logic update limit in the original code. Time is quantized into ticks and so when the framerate is very high, you don't get a logic update every frame. In the future, there are plans for interpolation which should smooth that out (similar to some Doom source ports). Thank you for your answer. What is the game original tick rate? 75fps gave me an headache, but 72fps seemed pretty smooth.
|
|
|
Post by lucius on Dec 23, 2022 0:21:43 GMT
About 145 ticks / second.
|
|
aidor
New Member
Posts: 9 Likes: 1
|
Post by aidor on Dec 27, 2022 11:29:49 GMT
About 145 ticks / second. As I told you in Discord (but I think it's better to post it here), with 100fps it works much better that at 120fps (my screen refresh rate). But after reading your posts and some more testing, limiting fps to 73fps gives the most smooth experience. 72fps gives some microstuttering, but 73fps is fine. It would be nice to have that frame interpolation you mentioned to run it at higher framerates, but right now at 73 fps it's quite playable and enjoyable. Hello. I tried version 1.0 I also can see the jittering/stuttering you mention. I tried enabling/disabling vsync, both in game and in the nvidia control panel, limiting my framerate, enabling/disabling gsync. What I found as a solution (have to try it a little more to be sure) was to limit my framerate to half my max refresh rate (72fps for a 144hz display), which is a little weird because gsync was working and the refresh rate was being dynamically adjusted when trying 120fps or other framerates. When you say, as it seems, that at 120 fps was working better, what do you mean exactly? Why don't you keep using that 120fps limit, then? I ask because in my case, 120 fps (my screen refresh rate) give me the worst smooth experience.
|
|