|
From: <tim...@en...> - 2006-03-10 23:10:26
|
Hi !
I've had the pleasure to see the first comment of H.B. Broeker on the
behaviour of the wxWidgets/Cairo terminal. Definitely, this comment raise=
s
an interesting question (at least it interests me).
Here is the comment :
One thing jumped at me almost immediately: the anti-aliased
line drawing seems not work out all that well. Two main
issues there are:
1) the usual "plot x" line at default settings is
terribly
wobbly. Yes, the windows terminal does that, too. But with
anti-aliasing it looks even worse, somehow.
2) the diagonal line of 'plot x' looks considerably
fatter than the key sample.
Both effects appear even more striking in
set polar
set size ratio -1
plot 2.23
So: may I be so bold as to ask for a terminal switch that
turns anti-aliasing off? Maybe it's only my LCD screen
that's acting up here, but frankly, I don't think
anti-aliasing is doing gnuplot all that much good. At least
here on my screen it seems to make typical aliasing
artefacts (like the wobble on both the diagonal line and the
circle) stand out even more, instead of working against them.
I am well aware of the problem, and I have several ideas about it. This
problem comes from the terminal API, which works with integers everywhere.
That's why 'plot x', on all platforms, looks wobbly to some extent instea=
d
of being a straight diagonal.
Please take a look at this screeshot http://tipote.free.fr/compare.png
I have done this screenshot to compare the different available interactiv=
e
terminals regarding the wobbling effect. You will see :
- Top Left : the wxterminal I am working on, in its current state.
It features antialiasing and its side-effects as H.B.B noted them :
wobbling more visible than in other terminals because our eyes are no mor=
e
disturbed by the aliasing, and key sample thinner because it is drawn
exactly on the centers of the pixels so it doesn't use/need any
antialiasing.
- Bottom Left : the Windows terminal, through Wine.
Here, aliased lines, definitely wobbling too.
- Bottom Right : the X11 terminal.
Basically the same rendering as the Windows terminal (apart from the fat
box), with aliased lines (and fonts) and wobbling.
- Top right : a modified wxterminal, which cheats by saying to gnuplot
that it has 10000 times more pixels than it really has. This oversampling
allows to use the Cairo API at its full extent, as it is based on doubles
instead on integers (motivated by the so-called subpixel accuracy of the
antialiasing method). This way, the diagonal of 'plot x' is purely
straight and clean ! Drawbacks : some ticks, the key samples and more
generally all horizontal or vertical lines are no longer placed on intege=
r
coordonates, so they are blurred by the antialiasing algorithm.
To see the same terminals render the polar 'plot 2.23' example quoted by
H.B.B., see here http://tipote.free.fr/compare2.png
As for me, I prefer the rendering with the modified oversampling
wxterminal because it gets rid of the annoying aliased and wobbling lines.
However, it definitely blurs all the lines of the box, of the ticks and o=
f
the key.
What do you think of it ?
Should there be an option in the wxterminal to choose between :
noantialiasing,
antialiasing,
antialiasing+oversampling
?
On the long run, a solution could be to rewrite or complete the term API
in terms of double instead of integers, but still use integers for the
box/ticks/key. Do you think it's feasible ?
Thank you for your help and you rinterest in the wxWidgets terminal !
Timoth=E9e
|