From: Michel <mi...@da...> - 2002-06-02 16:22:14
|
On Sun, 2002-06-02 at 17:58, Michael wrote: > On Sun, Jun 02, 2002 at 05:27:04PM +0200, Michel D=E4nzer wrote: > > On Sun, 2002-05-26 at 20:17, Michel D=E4nzer wrote: >=20 > > Also, the framerate seems to drop very quickly as the polygon count > > rises, e.g. with the XScreenSaver lament hack, it drops from around 250 > > fps when it's a single cube to around 25 (!) fps when it decomposes int= o > > several parts. Most 'real' apps are significantly slower than with the > > trunk code.=20 >=20 > > 2D crawls when a 3D client is running. Any hints for > > debugging that appreciated. >=20 > I think this is possibly the same issue in the thread started by Tim. > I've been playing with removing/changing some of the sync stuff. >=20 > Specifically >=20 > - removing the wait_for_fifo call completely, as Keith's description of > the other bit that's checked suggests it should cater for this anyway, > and the 3d side uses the ring (and so does the 2d side afaict, when > dri is enabled - when it isn't enabled, it checks the fifo before each > set of OUTREG() And then we don't care anyway. :) > - Changing the do_wait_for_idle into a while(1) loop (not really a > permanant thing to do, just to see the improvement if we stop the > continual looping in and out of the kernel to wait for idle) I don't understand what you are saying here. > - Removing the NeedToSync =3D TRUE in EnterServer - I can't see why it's > needed as the xaa doc suggests that the driver will call the Sync > function if it needs direct read / write access to the frame buffer > and everything else afaict goes through the ring intersperced with > WAIT_2D_IDLE, 3D_IDLE etc. Sounds reasonable. > I did note ages ago a massive performance drop at 1024x768, which > doesn't happen at lower and, more notably, higher resolutions. I'm running at 1280x854. > Other have noted a periodic 3d stall when 2d is updating something like a= clock or > gkrellm/ top output etc. I know that, but with the trunk the framerate drops by 10% maximum due to that IME. > With the above I can cover up q3 in-a-window without the 2d side > crawling to a halt without afaict any corruption / hangs from the > changes. There are still problems with the q3 titles - probably because > they hit a massive frame rate - about 90% is system time when q3-in-menu > is minimised as opposed to 90%+ user time when in the game with it > minimised. Wish I had Q3 to test with. :/ > I'm reversing some of the changes now, to see if there's a specific one t= hat > made the difference. I'll happily test any patches, just send them my way. > > Last, but not least, I can't seem to get it to use pageflipping. Do I > > have to do anything other than setting the X server option? >=20 > Keith disabled it by default, because it's broken with a few things, you > need a EnablePageFlipping entry in XFConfig-4 That's what I meant with 'X server option'. :) The 3D clients report that pageflipping would be allowed but never seem to use it. --=20 Earthling Michel D=E4nzer (MrCooper)/ Debian GNU/Linux (powerpc) developer XFree86 and DRI project member / CS student, Free Software enthusiast |