On Mon, Jun 03, 2019 at 10:25:06AM +0300, Leonid Bobrov wrote: > On Mon, Jun 03, 2019 at 08:38:02AM +0200, alf wrote: > > Hello, > > On Sun, Jun 02, 2019 at 10:58:39AM +0300, Leonid Bobrov wrote: > > > So, I've made some progress in my fork. snd_openal module is removed, > > > snd_qf should do a great job. I've also got rid of all GNU extentions > > > and deprecated registers in C++17. So far this game compiles with one > > > warning, but compiler prints a mess, so I've silenced it with > > > -Wno-user-defined-warnings flag, now it can be built with -Werror flag. > > > The install target is added to CMakeLists.txt, also warsow_2.1 branch > > > from https://github.com/Qfusion/qfusion/ is merged (note: I didn't > > > bother applying patches from that branch to Android because Android > > > support was not ready in this game anyway). > > > > > > All relevant patches are sent to https://github.com/Qfusion/qfusion/ > > > and this game was tested at OpenBSD, DragonFly BSD and NetBSD (couldn't > > > test at FreeBSD due to kernel panic coming from radeonkms module). > > > > > > Note that FPS limiter is buggy: if you set limit to 60 you'll get 33 FPS > > > and if you set limit to 500 you'll get 100 FPS, so far it happened only > > > at OpenBSD, so I have no idea is that a problem in game or in OpenBSD. > > > > > > Most likely there's some usleep somewhere with very small sleep intervals. > > Since OpenBSD's default tic-rate is 100 on most machines, it can not > > sleep for shorter periods then 1/100 sec. > > I ran into this in fodquake (QW client), try to use a custom kernel with > > a ticrate > 1000 (I used 5000 to 10000 without any problems). > > IIRC its > > HZ 10000 > > in the kernel config. > > > > Good luck, > > > > Alf > > > > Hi! > > I don't understand why OpenBSD has such a default, but how do other > games implement FPS limiters to avoid such problem? > (Actually I think I encountered this in quakespasm, not fodquake, there it manifested as immense packet loss).
Linux uses a ticless kernel, I guess Windows too. OpenBSD goes with conservative defaults for its ticrate since it wants to run on many platforms and machines without too much knob fiddling. It just sprang to my mind when you mentioned it as a OpenBSD only problem. Also I ran into this years ago. As what other games do, sorry, no idea:) Alf
