Allen Akin <a...@arden.org> writes: > On Mon, Dec 21, 2009 at 10:49:14AM -0700, tom fogal wrote: > | ... GL really > | needs a query that allows an application developer to figure out if a > | feature is accelerated by the hardware or not. Since it lacks this, > | the advertising of extensions is just about the only thing we, as app > | developers, can use as a heuristic. [snip -- it's hard to know what to report] > The only reliable way to solve the problem is to benchmark the > operations you want to use, in precisely the conditions you intend > to use them, and then make a judgement as to whether the performance > is good enough. This tends to be application-specific, so previous > attempts to make a centralized database of results failed. I > wouldn't say it's impossible, but it is very difficult.
That's not nearly good enough either. Rendering a 128^3 dataset in a 400x400 window (which is *tiny* for us) on some Apple platforms (I think some Intels, older 10.5 with some ATI cards) can take upwards of ten minutes, during which the application is hung. On Linux systems with really old nvidia drivers, it crashes the system. On Linux systems with old nvidia drivers, it crashes the X server. On Linux systems with new nvidia drivers, a watchdog timer kicks in after 4 seconds and the screen visibly blinks, corruption is observed in other apps such as firefox, etc. Further, drivers can do whatever they want on just about any GL call. We recently added such a `benchmark' feature to our application, choosing the LoD dynamically based on the time to render the previous few frames. Many drivers will take, e.g. ~50ms for the majority of frames, and then spike with e.g. a 300ms frame before dropping back down to 50. This `solution' is like asking app developers to benchmark JITted code; there's far too much variability for it to actually work. I would much rather deal with a state explosion. > I haven't tracked this subject since I left the ARB, but maybe the > Khronos folks have done some more work on it. What is the appropriate forum for this? > As you say, using extension advertisements seems to be the most > common workaround, though it's far from perfect. As I argue initially and above, since it is the only possibility at this point, I'm going to argue strongly that extension advertisement implies some sort of standard on performance. Alex reported the HW capabilities in reference to this, which in our case would mean we can use the HW-supported NPOT textures. However in the absence of, say, a vendor extension for reporting this, I'd rather just implicitly enable our workaround at the app level. -tom ------------------------------------------------------------------------------ This SF.Net email is sponsored by the Verizon Developer Community Take advantage of Verizon's best-in-class app development support A streamlined, 14 day to market process makes app distribution fast and easy Join now and get one step closer to millions of Verizon customers http://p.sf.net/sfu/verizon-dev2dev _______________________________________________ Mesa3d-dev mailing list Mesa3d-dev@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mesa3d-dev