bugGNU Octave - Bugs: bug #41608, Default FLTK linewidth is too low...

 
 

bug #41608: Default FLTK linewidth is too low for some video cards

Submitter:  Hartmut <hardy>
Submitted:  Sun 16 Feb 2014 01:23:07 PM UTC
   
 
Category:  Plotting with OpenGL Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Incorrect Result
Status:  Wont Fix Assigned to:  None
Originator Name:  Open/Closed:  * Closed
Release:  * 3.8.0 Operating System:  * GNU/Linux
Fixed Release:  None Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Wed 28 May 2014 03:07:04 PM UTC, comment #24: 

While I am doing this you might also try commands
like: get(gca(),"")

This lists all axis properties.

I think that this did not make it into
the manual when it should have. Should
be fixed soon.

I would even call this a bug.

But still, more questions to the maintainers...

Michael Godfrey <godfrey>
Group Member
Wed 28 May 2014 02:57:56 PM UTC, comment #23: 

This should not really be here on the bug
list.  For more questions please use the maintainers
list.

But, first: do you have a current Manual?
If so, look up for instance: get (0, "factory");
in the "Managing Default Properties" section.
The manual is not quite up-to-date with respect to
the most recent systems, but it should permit
you to find what you need. If you do not have
a Manual download one, or use the online doc, or...

All of the properties can be set as you wish using the same
set function that you used for linewidth (it is
in the Manual...)

Michael Godfrey <godfrey>
Group Member
Wed 28 May 2014 02:45:34 PM UTC, comment #22: 

You can


doc properties


or look at

https://www.gnu.org/software/octave/doc/interpreter/Graphics-Object-Properties.html

If you think the manual needs improvement, please report a new bug, even better would be a patch to the current manual sources with some improved wording or organization.

Mike Miller <mtmiller>
Group Member
Wed 28 May 2014 02:26:41 PM UTC, comment #21: 

Thanks! This was very useful information. Where are all the possible property flags for the set command documented? I was only able to find documentation on how the names of the property flags are formatted, but no information on which property flags actually exist. Also, tab completion for property flags doesn't work; I can only tab complete commands. Therefore, I have no doubt that without your kind help I would not have been able to work out how to fix this problem myself, and certainly I would not have been able to guess the names of the properties that I needed to set. Is there a way to print out, say, a matrix of available property flags? Maybe I should grep the source? Which files? It would be nice to change the default view for scatter3 to something other than "camera directly overhead" view. I'm trying to figure this out now. Thanks once again; I'm very grateful for you taking the time to answer my question and solve my problem. Best regards, Andrew.

Andrew John Lowe <andrewjohnlowe>
Tue 27 May 2014 07:42:08 PM UTC, comment #20: 

The fttk linewidth problem has a long history and
it mainly (maybe only) affects Intal graphics systems.
Is this your case?

The short fix is:
set(0, "defaultaxeslinewidth", 1.0);
set(0, "defaultlinelinewidth", 1.0);

You may want to put these in your .octaverc
file.

If you are willing to compile the current
devel system you may find it works much
better. If you do not find this please report
your results.

Michael Godfrey <godfrey>
Group Member
Tue 27 May 2014 06:54:15 PM UTC, comment #19: 

Hello,

Please accept my apologies if this is the wrong place for this kind of post. I know of no other place where I can get help for this issue.

I also have this identical problem. My setup is Ubuntu 12.04 LTS with Octave 3.8.1 installed from Synaptic package manager. The plots produced by Octave 3.8.1 with the FLTK plotting engine are so ugly as to render Octave useless for data visualisation. I am aware that GNUplot exists as a fallback, but I understand that GNUplot itself has some problems. I would like to get the default plotting engine, FLTK, to work.

I have searched extensively on the web, and the only information about this problem is in this thread. I can't find any information on how to actually resolve this problem. There is a patch, but I have no idea what to do with it. I tried to apply the patch, and got: "patch: ** Only garbage was found in the patch input". I didn't install from source. Where is the troubleshooting guide? I can't find anything on the Octave homepage or wiki that describes what to do. Is there a beta I can install that has the fix I need? I installed Octave from the stable releases ppa. Is there a beta ppa? Some newer build I can download and install? Can someone please post a simple to understand recipe?

Once again, sorry if this isn't the right for this kind of post. I didn't see where else I could go to get help. I have no problem with trying to fix things by myself, but I don't have sufficient information to make progress here.

Thanks!

Best regards,

Andrew.

Andrew John Lowe <andrewjohnlowe>
Fri 21 Feb 2014 04:52:35 PM UTC, comment #18: 

I backported the anti-alias patch to the stable branch.  I don't know if it will be a part of 3.8.1 or not.  We'll see.  I'm going to mark the bug as "won't fix" since we aren't going to change the default linewidth and break Matlab compatibility.

Rik <rik5>
Group administrator
Wed 19 Feb 2014 12:40:41 AM UTC, comment #17: 

Exactly. Unknown on my part, I'm out of my depth with OpenGL. And the patch definitely does improve things, as H.G.'s screen captures show.

I'm ok with closing won't fix for now, someone can always dig this discussion up later if needed.

Mike Miller <mtmiller>
Group Member
Tue 18 Feb 2014 11:57:50 PM UTC, comment #16: 

Aside from the anti-aliasing patch, is there anything that can be done in Octave?  Or is this all downstream in FLTK and OpenGL?  It seems to me that we may be ouf of maneuvering room on Octave's side since we aren't going to change the default linewidth.  We might have to mark the bug as won't fix and move on.

Rik <rik5>
Group administrator
Tue 18 Feb 2014 10:57:19 PM UTC, comment #15: 

I'm good with backporting the patch to stable. I built 3.8.1-rc3 with the patch locally applied and it works for me. It is currently applied on the gui-release branch for the 4.0 release.

I'm also good with keeping the default line and axis width at 0.5 for compatibility.

However, it is still an issue that the 0.5 line and axis width appears significantly different on certain video cards (I can attach screen grabs if that would help explain the difference), and that's what this bug is currently about. Maybe it's something specific to FLTK's use of OpenGL, or maybe it's something specific to OpenGL support on certain video cards, and maybe there's nothing that can be done about it in Octave, but that's where we are with this bug report. Applying the patch doesn't simply make 0.5 OK for everyone.

Mike Miller <mtmiller>
Group Member
Tue 18 Feb 2014 05:33:49 PM UTC, comment #14: 

I think that moving the anti-aliasing patch
to stable is a very good idea. 

Then 0.5 will be OK for everyone, I think.

Michael Godfrey <godfrey>
Group Member
Tue 18 Feb 2014 05:08:11 PM UTC, comment #13: 

I don't think we're going to change the default axes linewidth if Matlab has 0.5, and this value works for most users.

One thing to do would be to ask jwe on the maintainers list about backporting the anti-aliasing patch on to stable or gui-release so that at least something would appear for built-in Intel video cards.

Rik <rik5>
Group administrator
Tue 18 Feb 2014 04:22:57 PM UTC, comment #12: 

0.5

Felipe G. Nievinski <fgnievinski>
Tue 18 Feb 2014 04:21:44 PM UTC, comment #11: 

Offhand, what is the default axes linewidth for Matlab?


get (0, 'defaultaxeslinewidth')


Rik <rik5>
Group administrator
Sun 16 Feb 2014 10:09:23 PM UTC, comment #10: 

can someone pls rename this bug as "FLTK line width is too small"

I'll reply about the Win issue in bug #41583.

Felipe G. Nievinski <fgnievinski>
Sun 16 Feb 2014 10:00:25 PM UTC, comment #9: 
  • Alright, the font size issue is dealt with in a different bug report.


  • After the patch 8259 is applied, only the line thickness issue is left of this bug report here. (Will this patch really go into the next official release?)


  • How can we take care of the line width issue?


@ Felipe:
Yes, in bug report 41583 I've mentioned another funny behavior of fltk plots, but under Windows 7: Once the first figure window opens in my Win7 installation with fltk, the Windows color scheme falls back to some "basic" setup and makes ALL open windows (not only the octave ones) look different. This goes back to normal only after fully closing octave.

This is probably yet a different issue (at least it's not about "anti-aliasing"). And my installed Windows binaries of octave 3.8.0 aren't official yet  (mxe-occtave-3.8.0-4). So I'm not sure if I can contribute anything here with yet another bug report?

Hartmut <hardy>
Sun 16 Feb 2014 09:33:44 PM UTC, comment #8: 

may I suggest the FLTK font issues be dealt with in bug #41308.

@Hardy: is there anything else pending here other than the line widths?  you seem to have hinted at something with the plot window itself.

Felipe G. Nievinski <fgnievinski>
Sun 16 Feb 2014 08:40:12 PM UTC, comment #7: 

It seems that some systems do need a wider line width.
One my system:
set(0, "defaultaxeslinewidth", 1.0);
Improves the visibility of the axes.  I doubt if
changing the default from 0.5 is appropriate since
that appears to work well on many systems. Actually, what
happened to me quite a while ago was that at some
scales the axis lines would disappear altogether at
0.5.  It appears that this has been fixed (probably
by the anti-aliasing fix).

But, I still prefer 1.0 width.

Michael Godfrey <godfrey>
Group Member
Sun 16 Feb 2014 08:22:38 PM UTC, comment #6: 

I see exactly what you're seeing. Yes, the referenced patch does change the on-screen line appearance slightly, even on video cards where this problem did not occur previously. The default line and axis width now appears thinner and fainter than it did before with FLTK, or does with gnuplot.

Note that the default line width for plot lines and axes is (and has been) 0.5. Before this patch was applied, on some video cards the plot would appear the same to me as if the line width were 1, while on Intel video cards it would have the dotted line appearance. After this patch, I get the same thin faint line appearance on all video cards, and it now appears different when I set the line width to 1.

Mike Miller <mtmiller>
Group Member
Sun 16 Feb 2014 07:58:49 PM UTC, comment #5: 

Here is how the very same plot looks like with gnuplot on my system.


Hartmut <hardy>
Sun 16 Feb 2014 07:58:06 PM UTC, comment #4: 

@ Michael:
I've attached the two files you requested for your information. I've also printed the "ugly" plot into a pdf file. It's also attached and looks really "beautiful".

@ Jordi & Mike:
Yes, I do have an inbuilt Intel graphics card on my laptop. I've applied the mentioned patch 8259 (and recompiled). And yes, it helps! I have attached an image of the same plot after applying the patch. I looks much better. So I agree that this issue is a duplicate of the (solved) issue 37598.

But still: This fltk plot looks a bit "skinny" to me. Plotting the same with gnuplot generates significantly thicker lines and larger texts. (I'll attach an image from gnuplot with the next comment.) Should I open another bug report for this, or is this just the way fltk does plots and everybody else is happy with it?

(file #30574, file #30575, file #30576,

Hartmut <hardy>
Sun 16 Feb 2014 03:35:47 PM UTC, comment #3: 

The attached image looks exactly what I had been seeing with FLTK under Linux on my Intel integrated video card. Looks like a duplicate of bug #37598 that I reported a while ago, which I've now marked as fixed by the change Jordi referenced.

Mike Miller <mtmiller>
Group Member
Sun 16 Feb 2014 03:14:37 PM UTC, comment #2: 

Does patch #8259 fix the problem for you?

Jordi GutiƩrrez Hermoso <jordigh>
Group Member
Sun 16 Feb 2014 02:44:05 PM UTC, comment #1: 

It does appear that something in your configuration
is uncommon.  It might help to look at and post:
 /var/log/Xorg.0.log.
This shows what X11 finds on startup.

This will provide information about your graphics
hardware and how X11 starts up.

The next level is likely OpenGL. A command like:
rpm -qa|grep  GL

will show what OpenGL versions you have.

Have you tried writing a plot that looks ugly to PDF
and view the PDF?

Michael Godfrey <godfrey>
Group Member
Sun 16 Feb 2014 01:23:07 PM UTC, original submission:  

When I do the simple plot command

close all;
graphics_toolkit('fltk');
plot(1:10,'o-');

I get an "ugly" plot as shown in the attached image file. (All other fltk plots also look "ugly" in the same way on my linux PC. That's why I sticked to gnuplot before, gnuplot makes "nice" plots for me.)

I have learned recently that this is NOT normal under my linux operating system. That's why I hope we can figure out what causes it and how to change it.

Details:

  • Ubuntu 12.04 (up to date)
  • octave 3.8.0 release (downloaded official tarball, installed all necesssary dependencies, compiled myself)


I assume you need to know more details about my computer hardware, OS, octave installation or dependent packages. Just let me know which linux commands to "ask" my computer for, and I can give you answers...

Hartmut <hardy>

 

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

Attach Files:
   
   
Comment:
   

Attached Files
file #30578:  same_plot_in_gnuplot.png added by hardy (20KiB - image/png)
file #30574:  packages_with_gl.txt added by hardy (2KiB - text/plain)
file #30575:  Xorg.0.log added by hardy (31KiB - text/x-log)
file #30576:  uglyplot_as_pdf_before_patch.pdf added by hardy (3KiB - application/x-octet-stream)
file #30577:  plot_after_patch.png added by hardy (13KiB - image/png)
file #30572:  easyplot_ubuntu_fltk.png added by hardy (13KiB - image/png)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by andrewjohnlowe (Posted a comment)
  • -email is unavailable- added by rik5 (Posted a comment)
  • -email is unavailable- added by fgnievinski (Posted a comment)
  • -email is unavailable- added by fgnievinski
  • -email is unavailable- added by mtmiller (Posted a comment)
  • -email is unavailable- added by jordigh (Posted a comment)
  • -email is unavailable- added by godfrey (Posted a comment)
  • -email is unavailable- added by hardy (Submitted the item)
  •  

    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 13 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2014-02-21 rik5 StatusNeed Info Wont Fix
        Open/ClosedOpen Closed
    2014-02-18 rik5 CategoryPlotting Plotting with OpenGL
        SummaryNo anti-aliasing for fltk plots Default FLTK linewidth is too low for some video cards
    2014-02-16 fgnievinski Carbon-Copy- Added -email is unavailable-
    2014-02-16 hardy Attached File- Added same_plot_in_gnuplot.png, #30578
    2014-02-16 hardy Attached File- Added packages_with_gl.txt, #30574
        Attached File- Added Xorg.0.log, #30575
        Attached File- Added uglyplot_as_pdf_before_patch.pdf, #30576
        Attached File- Added plot_after_patch.png, #30577
    2014-02-16 jordigh StatusNone Need Info
        Summary&quot;ugly&quot; fltk plots under Linux No anti-aliasing for fltk plots
    2014-02-16 hardy Attached File- Added easyplot_ubuntu_fltk.png, #30572

    Back to the top

    Powered by Savane 3.13-02a9.
    Corresponding source code