To keep with the look and feel of classic Quake, DirectQ fully supports the original status bar (as default, although in a much rewritten state to allow for greater flexibility) and the ability to reduce or increase the size of the 3D refresh window. This was a performance gain in the software days: sizing down the 3D refresh window meant less pixels on the screen to update per frame, meaning faster framerates. However, hardware acceleration changes all of that.
In order to use a sized down 3D refresh window, like in the screenshot above, it is necessary to construct a 3D viewport around the dimensions of the 3D refresh window size. This is smaller than the full framebuffer, and as a result it is slow. Not horrendously slow, but if we change our HUD layout slightly we'll get the picture.
Here I've gone into the HUD menu and set "Draw As Overlay" on (or hud_overlay 1) and the alpha of the status and inventory bar components to about 0.6, thus mimicking the DarkPlaces HUD. Now the 3D refresh window is the full size of the framebuffer, which is also the size of the 2D refresh window.
The end result is that things run quite significantly faster. Despite a larger 3D refresh area, the driver is able to optimize better, and we get something in the order of a 5 percent speedup - even by comparison to the default viewsize 100. 5 percent might not seem like much when you're running at high framerates, but when running at low framerates it can be the difference between a choppy game and a reasonably smooth game.
With all that in mind, DirectQ will still be retaining the classic look as the default, but don't be surprised if you see some of the HUD options moving into your config.cfg in the next release.
Tuesday, June 23, 2009
The Sized-Down Refresh Window
Posted by
mhquake
at
6:32 PM
Subscribe to:
Post Comments (Atom)
0 comments:
Post a Comment