bugGNU Octave - Bugs: bug #53651, Severe performance regression of...

 
 

bug #53651: Severe performance regression of ui-functionality

Submitter:  None
Submitted:  Sat 14 Apr 2018 09:36:48 AM UTC
   
 
Category:  Plotting with OpenGL Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Performance
Status:  None Assigned to:  None
Originator Name:  Originator Email:  -email is unavailable-
Open/Closed:  * Closed Release:  * dev
Operating System:  * Microsoft Windows Fixed Release:  None
Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Fri 15 Feb 2019 10:26:33 AM UTC, comment #6: 

Closing report since the OP didn't answer the request for additional testing.

Pantxo Diribarne <pantxo>
Group Member
Fri 02 Nov 2018 10:19:05 AM UTC, comment #5: 

@OP: Can you test Octave 4.4.1 in which the default opengl driver has been switched to llvm-pipe based Mesa driver. It is still a software render but much faster and with much more up to date features than the one Windows provides.

Pantxo Diribarne <pantxo>
Group Member
Wed 16 May 2018 10:14:11 AM UTC, comment #4: 

I think this boils down to implementing the "opengl" function and being able to switch from software to hardware OpenGL at run time (see also bug #44916).

The default native Windows opengl32.dll only supports OpenGL-1.1 and lacks some functionalities (framebuffer objects in particular). I think that is the reason why print/getframe won't work unless opengl32.dll is provided by Octave (MESA software rendering, OpenGL-3+) or by a specific driver you installed with your graphics hardware (which generally support OpenGL3+).

Pantxo Diribarne <pantxo>
Group Member
Tue 15 May 2018 07:38:30 PM UTC, comment #3: 

However, on my system the opengl32.dll fix below also causes print to hang when trying to print figures to pnf files, so not really a viable workaround...

Anonymous
Mon 14 May 2018 08:11:46 AM UTC, comment #2: 

I'm see this too on a moderatley complex GUI that works fine with Octave 4.2.2 on Windows and 4.4 on Linux. With 4.4 on Windows interactivity is awful. This may be related to Bug #53845 - I renamed opengl32.dll in the bin directory as suggested in that bug report and the performance went is back to "normal".

Anonymous
Sat 14 Apr 2018 04:30:43 PM UTC, comment #1: 

I will add that on linux, for multiple frameworks (Cinnamon/KDE) and systems, I find the resizing/redraw to be visually problematic.  It's fast, but oh how bad it looks when redrawing.  It's as though the window size that Octave is rendering with doesn't match the OS window size in re-rendering.  There are these black edge areas and the re-rendered contents seems to bounce around.  If I drag and resize, say, Variable Editor window or any other Qt-derivative window it looks rather smooth.  Furthermore, I recall previous versions of Octave not having this issue I see in the development code...  As I write this, maybe the effect I'm seeing has to do with arbitrary delays introduced to plotting to solve some crash bugs.  That is, Octave is asked to re-rending and delays for a fraction of a second but in that fraction of a second the window size could have changed significantly.  Is Octave getting the window size, delaying, rendering?  Or is a delaying, getting the window size, rendering?  The order of things would make a big difference.

For the original poster, could you describe the slowness when resizing the window?  What does the rate of refresh seem to be?  I.e., how many frames/per/second, roughly.

Dan Sebald <sebald>
Sat 14 Apr 2018 09:36:48 AM UTC, original submission:  

The performance of the uipanel/uicontrol custom ui functionality
seem to have regressed to the point of being practically
unusable for any moderately complex custom ui (on the tested Win10 system).

Simply creating and rezising a uipanel is significantly slower on
the alpha 4.3.90 build compared to previous releases:


uipanel( 'units', 'normalized', 'position', [.2 .2 .6 .6], 'backgroundcolor', 'r' );


Anonymous

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by pantxo (Posted a comment)
  • -email is unavailable- added by sebald (Posted a comment)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only group members can vote.

     

    Follow 5 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2019-02-15 pantxo Open/ClosedOpen Closed
    2018-11-02 pantxo CategoryGUI Plotting with OpenGL
    2018-04-27 mtmiller Carbon-CopyRemoved 80942 -
    2018-04-27 mtmiller Item GroupRegression Performance
        Release4.3.90 dev

    Back to the top

    Powered by Savane 3.13-4448.
    Corresponding source code