Saturday, January 16, 2010

1.8.0 Beta Update

I haven't done anything for a coupla days but I'm hoping to wrap up the last few outstanding jobs on the occlusions system shortly, following which the Beta release should emerge some time over the next week.

(Update: as a postscript to the occlusion queries saga, I now have the full system implemented on all alias models and tested with vid_restart/etc. It's amazing, but in some maps it manages to exclude over 100 models from the renderer - an indication of how much extreme overdraw - or should that be "underdraw"? - was going on.)

My original intention for the Beta was that it was going to be largely feature-complete and that the only work required for the Final would be some fine-tuning and bug-fixes. That's not going to happen now, as I need to get the latest batch of optimizations out public and being tested as soon as I have something pulled together that I know stands a reasonable chance of working on as many systems as possible (right now there's a layer of error checking and capability testing that I haven't even started yet).

What you're going to get with the Beta will therefore be in a rough and incomplete state - not so much as the Alpha for certain, but there will still be some things missing. It will however include the full set of recent upgrades to the renderer, and will be capable of utterly decimating the Alpha so far as performance is concerned.

One item I'm currently chewing over is where to set the bar for entry level. Historically DirectQ has always required a 3 TMU 3D card, and with the recent batch of changes I'm moving towards requiring Shader Model 2.0 again (aside from very early versions only the 1.7.x line and the recent 1.8.0 Alpha didn't have this requirement).

I think this is starting to become reasonable as SM 4.0 is now mainstream and anything from a GeForce FX5200/Intel 910/ATI equivalent upwards is capable of SM 2.0. It would also enable full deprecation of some legacy fallback modes.

It's also the case that with 1.8.0 DirectQ has moved far beyond it's original goal of being a D3D port for people who couldn't use OpenGL engines (that slot is now filled by my D3D8 ports of other engines, and I do believe that a D3D8 QRack is going to happen without my involvement, which I am very happy to see). It's now a viable entity in it's own right, and is capable of throwing some punches that other engines cannot (yet - it's only a matter of time though).

No final decision, but as well as incremental upgrades to 1.8 (you can probably expect a 1.8.1, 1.8.2, etc) there is also the question of what 1.9.0 is going to look like, and I think that the answer (or at least part of it) will involve ditching those legacy modes. We'll see (and above all it will be fun finding out).

0 comments: