From: Adam K K. <ad...@vo...> - 2005-12-30 15:44:10
|
Felix K=C3=BChling wrote: >Am Donnerstag, den 29.12.2005, 20:40 -0500 schrieb Adam K Kirchhoff: >[snip] > =20 > >>>What's really bizarre, however, is that if I set hw.dri.0.debug to 1,=20 >>>glxgears gets roughly 200 FPS, faster than software Mesa, but slower=20 >>>than it can get (undoubtedly due to the massive amounts of debugging=20 >>>information that the kernel is logging). >>> >>>I tried a few more GL programs, all from the xscreensaver package. =20 >>>glforestfire also appear to display less than a frame per second. =20 >>>Same with flip-flop and flyingtoasters. flurry, on the other hand, is= =20 >>>quite smooth and the FPS meter shows roughly 30 fps. >>> >>>Any ideas? Thanks! >>> =20 >>> >>So not only does setting the debug sysctl seem to affect the framerate,= =20 >>so does displaying the framerate within the application. If I launch=20 >>any of those xscreensaver apps with the -fps option (including flurry,=20 >>glforestfire, flipflop, queens, and flyingtoasters), I get quite=20 >>reasonable framerates. If I launch them without the -fps option, I get= =20 >>1 FPS if I'm lucky (and I mean that literally... The window only=20 >>updates itself once every second, if that). >> =20 >> > >-fps causes a software fallback which implies a glFinish. Without -fps >it hits no software fallbacks and interrupt-based frame-throttling will >be used. Maybe interrupts get lost so that you time-out in the >frame-throttling code (radeon_wait_irq has a 3-second time-out ATM). >That would explain low frame rates. With debugging output the waiting >condition is probably true when it gets to radeon_wait_irq most of the >time, so it doesn't have to wait -> no time-out. Can you try playing >with the fthrottle_mode option to test that theory anyway. > > fthrottle_mode=3D0 glxgears > >would run glxgears with busy-waiting instead of interrupts. > >Regards, > Felix > =20 > glxgears (and the few other GL apps I've just tried) runs much more like=20 expected with fthrottle_mode set to 0 :-) Adam |