OpenArena Message Boards

OpenArena => Technical Snafus => Topic started by: GrosBedo on March 24, 2012, 05:24:02 AM



Title: About framerate drop in the latest releases of OpenArena
Post by: GrosBedo on March 24, 2012, 05:24:02 AM
A few people complained (and still complain) about a framerate drop and/or less "smooth" gameplay experience since OpenArena v0.8.5. This may be linked to the porting of ioquake3 changes, particularly com_busyWait:

Quote
Help! Ioquake3 won't give me an fps of X anymore when setting com_maxfps!
  Ioquake3 now uses the select() system call to wait for the rendering of the
  next frame when com_maxfps was hit. This will improve your CPU load
  considerably in these cases. However, not all systems may support a
  granularity for its timing functions that is required to perform this waiting
  correctly. For instance, ioquake3 tells select() to wait 2 milliseconds, but
  really it can only wait for a multiple of 5ms, i.e. 5, 10, 15, 20... ms.
  In this case you can always revert back to the old behaviour by setting the
  cvar com_busyWait to 1.

More infos: http://svn.icculus.org/quake3/trunk/README


Title: Re: About framerate drop in the latest releases of OpenArena
Post by: Neon_Knight on March 24, 2012, 06:12:33 AM
Framerate drop is also related to maps. Many maps are done with the old Q1-style mapping, whose techniques aren't considered optimal for OA.


Title: Re: About framerate drop in the latest releases of OpenArena
Post by: Gig on March 27, 2012, 06:28:46 AM
I just did a test with a mid-range 2009 machine, with integrated Intel graphics.
I played in "timedemo (http://openarena.wikia.co\m/wiki/Timedemo)" mode "demo088-test1". I've got a result of 69.2 fps with \com_busywait 0 and 68.2 with fps with \com_busywait 1, in windowed mode with official 0.8.8 windows binaries.

Maybe this busywait thing does not apply to timedemo mode, considering that the maxfps limit is ignored there?


Title: Re: About framerate drop in the latest releases of OpenArena
Post by: GrosBedo on March 27, 2012, 07:30:06 AM
Maybe this busywait thing does not apply to timedemo mode, considering that the maxfps limit is ignored there?

Don't really know, I'm not into rendering stuff so I don't know how this modify exactly the behaviour, but it seems so when reading the readme that it only affects com_maxfps:

Quote
Ioquake3 now uses the select() system call to wait for the rendering of the
next frame when com_maxfps was hit.

Anyway I think the theory of Neon_Knight is more probable as to be the cause of the framerate drop. This kind of complaints happen only on OA maps, I have yet to see such a claim when playing third-party maps.