|
|
Home » Developing U++ » U++ TheIDE and Library: Releases and ChangeLogs » Painter
Painter [message #19761] |
Wed, 14 January 2009 13:52 |
|
mirek
Messages: 13975 Registered: November 2005
|
Ultimate Member |
|
|
Ok,
so I have renamed SDraw to Painter and officially moved it to uppsrc.
Means, since today, we have high-quality, high-peformance, easy to use software renderer in U++.
There is still a lot of work to be done, especially we need Painting and PaintingPainter classes (to store paintings) and printing support, then printing support in Draw.
Later, I plan for some reingeneering of rendering internal, some AGG design choices are IMO a little bit long in teeth (plus, there is already a couple of bugs I had to fix). OTOH, as source of nice geometrick algorithms, AGG is invaluable
Even later, we need to finally split Draw into (system-GUI-)Draw and CoreDraw (depending only on Core) and make Painter dependent only on CoreDraw (plus font libraries, Fc and Ft).
Mirek
|
|
|
|
|
|
|
Re: Painter [message #19772 is a reply to message #19769] |
Fri, 16 January 2009 14:21 |
chickenk
Messages: 169 Registered: May 2007 Location: Grenoble, France
|
Experienced Member |
|
|
C:\upp\uppsrc\Painter\/agg_path_storage.h:967: error: 'bezier_arc_svg' was not declared in this scope I also see in the same file that #include "agg_bezier_arc.h" is commented out, and the header is not present. What was that for ?
Lionel
[Updated on: Fri, 16 January 2009 14:21] Report message to a moderator
|
|
|
|
|
Re: Painter [message #19803 is a reply to message #19761] |
Thu, 22 January 2009 14:34 |
Tom1
Messages: 1212 Registered: March 2007
|
Senior Contributor |
|
|
Hi,
Good work with the Painter, Mirek! The interface to various features is very nice once one gets to know it.
Now I would like to know the road-map of the Painter development. (Maybe I have missed it somewhere else in the forum??) Is this new interface something that will be introduced for hardware based rendering too (entirely or partly) or is this only for the software based Painter?
I did some quick benchmarking of the Painter versus Draw and found that the cost of using the Painter instead of Draw is about 10x..20x slowdown for rendering strokes. The fills are not that slow, but they still do not match the speed of Draw. I may well be dead wrong, but I guess the main reason for the huge slowdown is the anti-aliasing. Is there a way to disable anti-aliasing to speed up the rendering at the cost of quality? (I wish there was. Actually, I wish it could be turned on and off on-the-fly.)
My application is very sensitive to speed and anti-aliasing is usually not required. However, the dashed line styles (with great flexibility in Painter, I might add) is what I have been waiting to get for Draw for quite some time now.
Anyway, great stuff!
Best regards,
Tom
|
|
|
Re: Painter [message #19804 is a reply to message #19803] |
Thu, 22 January 2009 15:40 |
|
mirek
Messages: 13975 Registered: November 2005
|
Ultimate Member |
|
|
Tom1 wrote on Thu, 22 January 2009 08:34 |
Now I would like to know the road-map of the Painter development. (Maybe I have missed it somewhere else in the forum??)
|
Not really, I have to admit that I sort of got interested first and captured later doing this. But it was really missing for a long time.
Quote: |
Is this new interface something that will be introduced for hardware based rendering too (entirely or partly) or is this only for the software based Painter?
|
It is meant to be solely sw based, at least for now.
Quote: |
I did some quick benchmarking of the Painter versus Draw and found that the cost of using the Painter instead of Draw is about 10x..20x slowdown for rendering strokes. The fills are not that slow, but they still do not match the speed of Draw. I may well be dead wrong, but I guess the main reason for the huge slowdown is the anti-aliasing.
|
IMO, the main difference is the way how strokes are drawn. GDI simply draws lines, at least as long as line width is 1 - and in that case, it is often HW accelerated.
Painter first converts strokes to polygons and then draws them.
In future, we might consider optimizing this and draw strokes directly in important special cases.
BTW, you might also try to benchmark different line widths...
Quote: |
Is there a way to disable anti-aliasing to speed up the rendering at the cost of quality? (I wish there was. Actually, I wish it could be turned on and off on-the-fly.)
|
Yes, there is "NoAA" attribute. But do not expect huge performance gains, it was rather added for printing where antialiasing does not look well.
Mirek
|
|
|
|
|
|
|
Goto Forum:
Current Time: Fri Apr 26 05:36:17 CEST 2024
Total time taken to generate the page: 0.02730 seconds
|
|
|