<br><br><div><span class="gmail_quote">On 1/27/06, <b class="gmail_sendername">Ian MacLarty</b> <<a href="mailto:maclarty@cs.mu.oz.au">maclarty@cs.mu.oz.au</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
On 27 Jan 2006, at 03:08, Ralph Becket wrote:<br><br>> Ian MacLarty, Monday, 23 January 2006:<br>>> I've managed to implement the UI framework Julien and I were designing<br>>> without constructor classes.<br>
><br>> As a proof-of-concept sketch, I rather like it.<br>><br>> I have some ideas about efficiency if this approach is going to fly<br>> (e.g., the GC burden would be huge if a complex interactive GUI had to
<br>> be recomputed on every mouse event), but we should probably discuss<br>> these in the office.<br>><br><br>My intuition is that this won't be a problem, because UIs normally work<br>in a "do some work, wait for an event, do some work, wait for an event,
<br>etc" manner.  We could force a garbage collection during the "wait for<br>an event" periods.  Anyway we can discuss this further when I return.</blockquote><div><br>That is an option.  However, how much would compile-time garbage collection affect the situation?  Is it a matter of the load associated with the work, or with the GC associated with the work.
<br></div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">I think there are also some issues to explore with regard to how we<br>render native GUIs (
e.g. gtk).  Do we redraw the whole GUI each time,<br>or just compute the difference between the old and new gui and redraw<br>the bits that have changed.  I think we'll need to adopt the second<br>approach, if not for performance, then to avoid flickering or other
<br>strange artifacts of redrawing the whole GUI (such as maybe windows<br>jumping around).</blockquote><div><br><br>In some cases it will lead to more work having to look for the differences (ie. if it's just about all different), but it should save work in most applications at most times (and drawing pixels is what often makes them crawl, at least in my observation).
<br></div><br>Jon</div>