[0.6.0-495-g6a9f1e9da] Frame limiter implementation

Forum rules
Please don't bump threads here if you have a problem - it will often be forgotten about if you do. Instead, make a new thread here.

Post a reply

Smilies
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :geek: :ugeek: :!: :?: :idea: :arrow: :| :mrgreen: :3: :wub: >:( :blergh:
View more smilies

BBCode is OFF
Smilies are ON

Topic review
   

Expand view Topic review: [0.6.0-495-g6a9f1e9da] Frame limiter implementation

Re: [0.6.0-495-g6a9f1e9da] Frame limiter implementation

by Graf Zahl » Fri Jun 12, 2020 1:08 pm

Done. No loss, I'd say. The frame rate limiter never yielded the CPU while waiting, it continues to run full steam ahead and probably made things even worse on the CPU side.

Re: [0.6.0-495-g6a9f1e9da] Frame limiter implementation

by Graf Zahl » Fri Jun 12, 2020 1:17 am

Since the game works with vsync on this shouldn't come as a surprise. I think all that needs to be done is to remove the active limiting from G_FPSLimit

Re: [0.6.0-495-g6a9f1e9da] Frame limiter implementation

by mjr4077au » Fri Jun 12, 2020 1:02 am

I'd need to extensively test the results of limiting the frames in the backend while the game is calling G_DrawRooms(), G_DisplayRest() etc as fast as possible to make sure there's no funkiness going on there. From my limited (haha, get it?) testing, vid_maxfps seemed to work well.

Re: [0.6.0-495-g6a9f1e9da] Frame limiter implementation

by Graf Zahl » Fri Jun 12, 2020 12:56 am

Yes, they moved the implementation into the engine, but the limiter is still being operated from the game side, so it's effectively still all the same. GZDoom's limiter fully sits in the backend, effectively acting like a vsync just without waiting for the sync but a given time interval.

Re: [0.6.0-495-g6a9f1e9da] Frame limiter implementation

by mjr4077au » Fri Jun 12, 2020 12:49 am

Since you've forked the code, they have moved the frame limiter into the engine which does make sense: https://voidpoint.io/terminx/eduke32/-/ ... 436cf05e71

I've tested things with GZDoom's frame limiter and it all seemed to work fine for me (though was really annoyed when I did vid_maxfps 1 but meant to do vid_vsync 1 ;)).

I can have a crack at removing r_maxfps and associated code if you like? Might be able to hook up SW as well so all the games have a limiter.

Re: [0.6.0-495-g6a9f1e9da] Frame limiter implementation

by Graf Zahl » Fri Jun 12, 2020 12:44 am

Yes, this needs to be cleaned up, of course. One good opportunity to get rid of code in the game modules that never should have been there.

[0.6.0-495-g6a9f1e9da] Frame limiter implementation

by mjr4077au » Fri Jun 12, 2020 12:41 am

Because we're on the full backend, there's now multiple frame limiters within the game and they can come into conflict as I believe vid_maxfps is at 200 as well as r_maxfps, but vid_maxfps is not exposed to the menu so unless you know what you're doing, you can't uncap the frame-rate.

Little pissy issue all things considered but just noting it down.

Top