From: Chris C. <ca...@al...> - 2002-06-12 19:22:32
|
On some setups, I'm finding that rendering multi-staff notation windows starts out quickly (for the first staff to be rendered) and then gets much, much slower for each subsequent staff, ending up taking perhaps a minute to render the last staff in a piece like the mandolin sonatina. The time _appears_ to be (according to the debug reports) largely spent in NotePixmapFactory::drawBeams, but the time taken is not proportional to the number of beams drawn or even the number of distinct grey-scaled dots needed to draw them. The act of drawing itself appears to be getting slower and slower, and I think it's just that drawBeams is where more drawing occurs than anywhere else. Does anyone else see this problem? I don't see it on this machine at home, but I have seen it when using a slower laptop as an X server for this machine (across the LAN), and also when using the very much faster new machine at work. Both were KDE2/Qt2 setups. Chris |
From: Richard B. <bo...@bo...> - 2002-06-13 05:32:55
|
Chris Cannam wrote: > On some setups, I'm finding that rendering multi-staff notation > windows starts out quickly No, I don't see it here but then I'm with KDE3 at the moment. I'll try it with KDE2 at some point if I remember. Maybe log it? R |
From: Chris C. <ca...@al...> - 2002-06-13 08:54:35
|
Richard Bown wrote: > Maybe log it? Yeah, I think I will 'cos then we can attach any more data that turns up. Chris |
From: Chris C. <ca...@al...> - 2002-06-13 10:42:49
|
Ugh. Appears to be a problem when using Qt2.3.1 with Xft. It looks like Qt is maintaining a global linked-list of things it calls qt_ft_draw structures; it adds one to the list at various times, but in particular every time a QPixmap is created, and it removes one when a QPixmap is destroyed. And it traverses the list linearly to look for one every time updatePen, setClipping, drawPixmap, or drawText is called on a QPainter. Since we create squillions of pixmaps which then persist for a long time, and we do lots of QPainter operations, this really screws things up for us -- we end up spending almost all of our rendering time traversing a single linked list. Qt3 appears to have a completely different way of handling Xft, which I guess doesn't have this rather obvious problem. Haven't looked at Qt2.3.2, but the change log doesn't mention this. The obvious user workaround is not to use Xft (font smoothing) with KDE2/Qt2 -- on this system the default is not to use it, and you have to set the QT_XFT environment variable true to do so. I can't think of an easy programmatic workaround at the moment. I'll copy this to the bug report and add a note to our README. Chris |
From: Guillaume L. <gla...@te...> - 2002-06-13 12:32:04
|
On Thursday 13 June 2002 12:41, Chris Cannam wrote: > The obvious user workaround is not to use Xft (font smoothing) > with KDE2/Qt2 -- on this system the default is not to use it, and > you have to set the QT_XFT environment variable true to do so. No, you can set that from KDE's control center. > I can't think of an easy programmatic workaround at the moment. I'm not sure it's worth bothering. --=20 =09=09=09=09Guillaume =09=09=09=09http://www.telegraph-road.org |
From: Chris C. <ca...@al...> - 2002-06-13 12:50:54
|
Guillaume Laurent wrote: > On Thursday 13 June 2002 12:41, Chris Cannam wrote: > >>The obvious user workaround is not to use Xft (font smoothing) >>with KDE2/Qt2 -- on this system the default is not to use it, and >>you have to set the QT_XFT environment variable true to do so. > > No, you can set that from KDE's control center. No, you have to use the QT_XFT environment variable. There is an option in the control center, but it doesn't appear to do anything. (Possibly if I was running the KDE desktop, ticking that option might make the desktop export the environment variable itself.) >> I can't think of an easy programmatic workaround at the moment. > I'm not sure it's worth bothering. I closed the bug and marked it "Wont Fix". The lack of an apostrophe bothers me, but I can live with that. We'll just have to say not to use font smoothing with Qt 2.3.x. Chris |
From: Guillaume L. <gla...@te...> - 2002-06-13 13:16:06
|
On Thursday 13 June 2002 14:51, Chris Cannam wrote: > There is an option in the control center, but it doesn't > appear to do anything. (Possibly if I was running the KDE > desktop, ticking that option might make the desktop export > the environment variable itself.) That's basically what it does. It requires you to restart KDE though. --=20 =09=09=09=09Guillaume =09=09=09=09http://www.telegraph-road.org |