Meeting on irc.gnome.org:#gtk-devel Meeting started October 25 2004 17:03 EST (21:03 UTC) In attendence: Owen Taylor (owen), Jonathan Blandford (jrb_sick), Manish Singh (yosh), Matthias Clasen (matthias), Federico Mena Quintero (federico_), John Ehresman (jpe), Ray Strode (halfline), Robert Ă–gren (roboros), Maciej Katafiasz (mathrick), James Cape (Jimbob), Morten Welinder (gmorten), Anders Carlsson (andersca), Carlos Garnacho Parro (garnacho) any agenda items for today ? I'd like to ping on one of my bugs, but I don't know if it's meeting worthy. sure 144729, is it a breaking change? vektor: Yes OK, should I do a patch which adds API? vektor: I think you should think about how to fix the performance problem without adding HINT mask. HINT mask is a fundementally screwed up idea. Of course, it's easy on the programmer, so that's something to be said for it.... Well, in general there are lots of cases where the hint is useful, any time you have an event handler that can take a long time. Usually you don't want _all_ mouse events, like it seems to me that the hint should be the default for most everything. Otherwise you're just asking to do more work. vektor: Well, the golden rule is that event handlers should take close to zero time and queue anything that is slow isn't that basically the problem: event handlers which take a long time Well, often you don't know that an operation will take a long time. Interactive resizing is a good example. vektor: HINT mask is evil because it forces server round trips. And also evil because it requires apps to write for it specifically If you're resizing something based on mouse events, it could cause a lot of work to happen. All we do in this mouse handler is set the selected item in the treeview, so the performance problem in this particular case is probably something in GTK+... vektor: You can do event compression better client side. vektor: You aren't reacting to the selected item? vektor: there's the "hover_select" property in 2.5 or 2.4, can't remember I don't think so ... vektor: do you have a C-only testcase ? vektor: How big is the tree view? GTK+ is pretty religious about queueig resizes and so forth, so I wouldn't expect trailed lagging matthias: I'll code one up, shouldn't be hard ... vektor: That is, it might be slow, but you shouldn't see it get farther and farther behind vektor: as andersca points out, the treeview in 2.6 has a mode to let the selection follow the mouse, and it doesn't seem to suffer from performance problems (And changing the selected item a few dozen times a second shouldn't even be slow) the treeview is well known for sending cpu load through the roof. It seems to happen best right when the window is shown, so there are lots of other events in the queue. when you move the mouse, that is. gmorten: it shouldn't send it through the roof gmorten: Well, that's the prelight. But eating cpu isn't the same as lagging. jrb_sick: well, anything you mouse over gets re-fetched from the model, re-rendered, etc. Even though no pixels change. jrb_sick: it takes >10% on athlon 2k just moving the mouse over it takes 4% on an 800mhz pentium 3 sounds high that's with no prelight actually taking place, I should add mathrick: it's up to the renderers to prelight if they want jrb_sick: yeah, I know, but point is, no computation is done to prelight anything, just checking for prelight eats 10% CPU just profile the thing mathrick: It just queues a redraw on the rows always mclasen: prelighting in GtkTreeView isn't the only thing on the agenda, right? mathrick: There is no cell renderer flag "I'm really going to draw prelighted" Oct 25 17:20:10 * jrb_sick still doesn't buy the 10% usage jrb_sick: I wanted to talk to tml about the status of his win32 filename encoding patch, but he isn't here... owen: ah, that explaing, but that's not totally optimal thing to do, as it's more common not to prelight 10%+ here s/ng/ns/ jrb_sick: other than that, I have no urgent agenda items. mathrick: Well, no, it's not the totallly optimal thing to do ... mathrick: It was desinged to be the simplest thing to do gmorten: How many columns? (And early versions of GtkTreeView prelighted everything) owen: a filechooser on a sparc on unknown speed owen: ic, would it be possible to optimize that redraw away in cell renderer if needed? sparc of unknown speed == slow (per cpu anyways, add enough cpu and the box might be distinctly not slow. But that doesn't help a single thread) undoubtedly not impressive speed by modern standards. buy hey, it has 96G memory... let's just store all different cell types in memory then ;) mathrick: We could a "this cell renderer doesn't prelight" flag compatibly. Though we might still be changing the GtkState for drawing ... so it might be up to the theme, which would be harder to optimize. I forget gmorten: wow, 96GB is something to reckon with :) owen: ic, so in current GTK+ there would be no way to write smart renderer able to avoid that redrawing? mathrick: Yeah, the renderer doesn't know why it was asked to redraw ok, let me give a quick update on reaching the "slush frozen" status: in the last week, we got the key file parser, the named icons in images and about dialogs, the clipboard persistence and image/file dnd convenience api committed. I'll commit the hig dialog patch tomorrow, and I would love to get tmls filename encoding patch in glib. after that, I'll start rolling 2.5.4 great would it be possible to get image convenience functions for gtkclipboard in before 2.6? andersca: I was about to list what I see as candidates for breaking the slush freeze... matthias: g_ascii_strtod needs life support. we seem to have some api-adding patches almost ready: I think Jimbob has a large filechooserbutton patch which adds some api for controlling the width of ellipsised labels, mathrick: see if do_prelight() is queueing a draw for each mouse movement; it should do it only if the last prelighted node is not equal to the current node federico_: it should behave that way jrb_sick: it looks like it does; but I'm not sure if it in fact is :) gmorten: you'll do the CPR matthias: we should also get seth to look at the two odd use cases for GtkFilechooserButton ? matthias: or just take the thing out back and shoot it... anyway, time for kids federico_: it did when I wrote it... can we backport the typeahead patches to 2.4? jrb_sick: I'm not sure if there is much to do about it; they're just odd, but nobody is forced to use them. We can document them as odd... (continuing the list of freeze break candidates)andersca mentioned convenience api for image cnp in GtkClipboard which should be very easy to add now, halfline has some additions for GKeyFile (comments) there's anders's api to add pixbuf formats to a gtkfilefilter matthias: for starters, we can limit the entry to just display the filename anything else ? We do have a huge number of bugs on the 2.6 API freeze milestones (130 in GTK+, 30 in GLib), and should probably start to triage that list federico_: is there anything keeping that from being committed ? matthias: it's a big change for the stable branch jrb_sick: ? you're talking about backporting typeahead, right ? I was referring to the pixbuf formats for filefilter patch, which is head-only... matthias: not that I know of... andersca? nope, should work oh, yeah. I lost track of the topic of conversation.. one thing I wanted to mention is that I took the liberty to commit my button order patch. So we can switch to an alternative button order by changing a setting now Oct 25 17:45:06 * jrb_sick grumps Oct 25 17:45:22 * andersca too Note that patches to suppor talternative button order should be rejected for gnome applications (That is, applications liek gnome-panel, not applications that are meant to conform to gnome guidelines in genreal) well, it is meant to help apps which want to achieve a native appearance on other platforms, so it doesn't mean that gnome should offer a button order switch matthias: Exactly. It will work out of the box for all builtin GTK+ dialogs and for GtkMessageDialogs. Apps will have to take care of the rest So, while it may be a controversial feature it certainly fits with the "improve win32 integration" theme which we have followed with a number of other 2.6 features... my god, matthias is a goneme killer speaking about win32 integration, one thing which I thought about earlier today is that we should check whether there are any important fixes for the windows theme engine and input method from their authors Note that patches to suppor talternative button order should be rejected for gnome applications federico_: maybe it will give them new energy, who knows jrb_sick: 150949 is fixed in HEAD, right? yeah did we switch to prefix matching ? matthias: yup cool matthias: do you know if 152330 is still valid? (I'm building HEAD at the moment, so can't really test it right now...) federico_: should still be valid. I haven't started to fix the issues with changing the tree underneath a combobox yet matthias: ok I'm trying to see if there are must-fix bugs in the file chooser before I start doing some usability stuff on it federico_: "usability stuff"? fedrico_: one filechooser nasty is that size allocation loop if the file chooser widget is not given enough space for the paned jrb_sick: alt-number for the bookmarks, some keynav enhancements, etc. jrb_sick: I want the "it doesn't have an entry" complaints to stop matthias: ah, yes, that's definitely one to fix in theory just taking out that _set_size_request() for the shortcuts pane and letting it auto-size should work, right? federico_: some things which would probably improve the usability a great deal require some lower-level work, e.g. we need tooltips on treeviews, and a way to hide the text in the add/remove buttons to allow the bookmarks list to be not so wide matthias: we can probably steal gaim's code for tooltips-on-treeviews for now... owen: did you have some ideas on how select-folder should work? jrb is working on tooltips-on-treeviews ooh, he is ?! so *that* is his secret project ... nice! federico_: select folder? owen: maybe I misremember, but you know how double clicking on a folder in GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER takes you to *that* folder rather than activating it, etc. owen: I think you were talking about that at some point Oct 25 18:14:13 * federico_ may be confused federico: with tooltips on treeviews, we can also allow users to name bookmarks, and show the full path in a tooltip federico: I did some changes to the select-folder logic some time ago. I think it is reasonable now, maybe you should try it again matthias: ok, I'll test them anyway, the kids are coming home any minute now, I have to quit I'll put the logs up tomorrow. See you see you, matthias Meeting ended October 19, 18:16 EST (22:16 UTC)