octave-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Octave-bug-tracker] [bug #53753] Animation performance jumpy


From: Dan Sebald
Subject: [Octave-bug-tracker] [bug #53753] Animation performance jumpy
Date: Wed, 25 Apr 2018 14:28:05 -0400 (EDT)
User-agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:55.0) Gecko/20100101 Firefox/55.0

Follow-up Comment #1, bug #53753 (project octave):

I think your assessment is fairly accurate Marshall.  Your example is very
good for illustrating the issue, and I will elaborate.

The Qt toolkit has some timing issues, and recent modifications to the Qt
figure code have solved some crash bugs

https://savannah.gnu.org/bugs/?53513

but I suspect the solutions have merely caused the problem to manifest in
other ways.  As far as I understand the solutions, there are some delays
introduced and some recursive-loop prevention constructs introduced.  In other
words, I think that the recent changes in Qt toolkit will skip plotting a
figure if it happens it is currently plotting a figure.

And to illustrate, examine your animation example with gnuplot and fltk
toolkits.

For FLTK: There is no skipping of the plots, and the animation shows a
"slowly" moving sine wave.  i makes it to 3.0100 on my system in 5 seconds.

For gnuplot:  Now gnuplot seems to have some issue where it is drawing a blank
white screen in between plots (that should be fixed).  However, if one watches
closely, they'll see a similar slowly moving sine wave.  So gnuplot toolkit
behaves similar to FLTK toolkit, drawing every frame, as it were.  i makes it
to 1.5700 on my system in 5 seconds.

For Qt:  Things are different.  Watch how far the sine wave moves in one plot.
 It's an aliasing effect that gives the appearance of a sine wave that moves
perhaps 20 times faster than the FLTK animation.  I suspect that Qt toolkit is
skipping about twenty plots that it really shouldn't skip.  That is, in the
time it takes to draw one plot (which is quite fast for Qt OpenGL
implementation), the broader Octave executable in another thread is probably
whirling through the loop and skipping 19 plots until the plotting thread
resource is available again.

Maybe some day Qt toolkit will have a mutex which will coordinate the core
thread and the plotting thread so that plotting isn't skipped.  I'd say mark
as a duplicate bug.

    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?53753>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]