Actually msgs was introduced in J602. It should be safe but
with a performance penalty.  Inside a loop, I'll only call it
for each hundred or thousand iterations.

Сб, 31 авг 2013, Marc Simpson писал(а):
> PS—This is really handy for some naive plot animations (re-rendering)
> that I've been playing with, thanks for the tip. It looks like the GTK
> IDE supports this too (once gtkwd has been loaded); any caveats on
> usage?
> 
> On Sat, Aug 31, 2013 at 8:58 PM, Marc Simpson <[email protected]> wrote:
> > Thanks Bill—this is probably preferable as the double buffering on OSX
> > seems to require qApp->processPendingEvents() anyway, impacting
> > performance on other platforms.
> >
> > Agreed?
> >
> > On Sat, Aug 31, 2013 at 8:43 PM, bill lam <[email protected]> wrote:
> >> wd'msgs' can enable Qt to process pending events, eg
> >>
> >> step1=: 3 : 0
> >> for_n. i.y do.
> >>  smoutput'Step'
> >>  wd'msgs'
> >>  6!:3]1
> >> end.
> >> )
> >> step1 5
> >>
> >>
> >> Сб, 31 авг 2013, Marc Simpson писал(а):
> >>> Hmm, it seems that repaint() doesn't behave identically on Linux and
> >>> Mac—under OS X, the patch appears to have no effect (Qt 4.8.5).
> >>>
> >>> On Sat, Aug 31, 2013 at 7:29 PM, Marc Simpson <[email protected]> wrote:
> >>> > Slower, but not sluggish, on my machine. With 1000 "steps" and no
> >>> > delay, I'm returned to the prompt in 2.3s; without the patch, this is
> >>> > more or less immediate ~0.2s (via 6!:2). I don't think such behaviour
> >>> > is particularly surprising as we're requesting the UI be updated
> >>> > following J output rather than allowing Qt to optimise for a later
> >>> > repaint (later being the primary issue here). Incidentally, j602 and
> >>> > the patched j801 take roughly the same amount of time, so this isn't
> >>> > necessarily a performance regression if the outlined behaviour is
> >>> > considered correct.
> >>> >
> >>> > Generally speaking, repaint() is discouraged where update() will do:
> >>> > "We suggest only using repaint() if you need an immediate repaint, for
> >>> > example during animation. In almost all circumstances update() is
> >>> > better, as it permits Qt to optimize for speed and minimize flicker".
> >>> > Unfortunately, update() "does not cause an immediate repaint; instead
> >>> > it schedules a paint event for processing when Qt returns to the main
> >>> > event loop"—which is precisely what I'm trying to work around.
> >>> >
> >>> > Are you able to test on Win32 and benchmark against j602 and the
> >>> > current qtide master?
> >>> >
> >>> > Best,
> >>> > Marc
> >>> >
> >>> > On Sat, Aug 31, 2013 at 6:47 PM, bill lam <[email protected]> wrote:
> >>> >> I'm not familiar with qt IDE, just curious, will un-buffered output 
> >>> >> make it sluggish because of the time taking for repaint?
> >>> >> eg. Loop for one thousand times and without the delay.
> >>> >>
> >>> >> On 31 Aug, 2013, at 8:29 PM, Marc Simpson <[email protected]> wrote:
> >>> >>
> >>> >>> Terminal output is currently buffered until control is passed back to
> >>> >>> the user. For example, executing the following verb:
> >>> >>>
> >>> >>> step=: 3 : 0
> >>> >>> for_n. i.y do.
> >>> >>>  smoutput'Step'
> >>> >>>  6!:3]1
> >>> >>> end.
> >>> >>> )
> >>> >>> step 5
> >>> >>>
> >>> >>> causes the IDE to hang for 5 seconds, then blit out 5 'Step's. (The
> >>> >>> GTK IDE behaves identically.)
> >>> >>>
> >>> >>> One possible fix:
> >>> >>> https://github.com/0branch/jqtide/commit/2aca7699961e06dd858dee109d65cdaaa397a730
> >>> >>> -- here, Term is repainted after output, thereby providing more
> >>> >>> immediate feedback and behaviour in line with jconsole & j602.
> >>> >>>
> >>> >>> Thoughts?
> >>> >>>
> >>> >>> Best,
> >>> >>> Marc
> >>> >>> ----------------------------------------------------------------------
> >>> >>> For information about J forums see http://www.jsoftware.com/forums.htm
> >>> >> ----------------------------------------------------------------------
> >>> >> For information about J forums see http://www.jsoftware.com/forums.htm
> >>> ----------------------------------------------------------------------
> >>> For information about J forums see http://www.jsoftware.com/forums.htm
> >>
> >> --
> >> regards,
> >> ====================================================
> >> GPG key 1024D/4434BAB3 2008-08-24
> >> gpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3
> >> ----------------------------------------------------------------------
> >> For information about J forums see http://www.jsoftware.com/forums.htm
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm

-- 
regards,
====================================================
GPG key 1024D/4434BAB3 2008-08-24
gpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to