1. Speed
Depending on the target environment, tests have shown AmanithVG™ to be on average 10 to 20 times faster than the best
software rasterizing engines existing today. Optimal performance is attained when AmanithVG™ is running in full-screen mode and
animations are performed using OpenVG matrices. The performance gain can be directly attributed to the following:
- exploitation of the 3D acceleration, as known, the fill rate is not a bottleneck.
- non-recursive flattening algorithms, that produce statistically 35% less segments compared to classic schema.
- fast and robust tesselator, that always produces the theoretical optimal number of triangles.
- smart caching system, that permits to store points / triangles, avoiding calculating them every frame, when possible.
- matrix transformations that can be directly calculated through OpenGL matrices.
- use of OpenGL extensions, when available, that makes it possible to speed up several calculations.
A lot of people have asked for a speed performance comparison between AmanithVG™ engine and other implementations.
Here is a little benchmark suite, that has been developed to test different paint types filling the same path.
These benchmarks are not exhaustive, but they are intended to give an idea about AmanithVG™ performance trend.
Note that AmanithVG™ rendering engine speed depends on the power of the underlying 3D chipset.
The tests have been conducted on two different machines; the results have been reported in the following.
2. Quality
AmanithVG™ rendering and image quality heavily depends on FSAA and texture filtering provided by the 3D chipset (all AmanithVG™ screenshots
shown in this website have been produced on a machine equipped with a NVIDIA GeForce 5900FX). Mipmapping, if available, has been used to improve pattern
paint quality. The rendering quality influences the flattening level (higher rendering quality corresponds to a lower curve chordal deviation threshold).
Moreover AmanithVG™ engine shows, in some cases, a better quality behaviour than software renderers:
- Perspective correct paint generation.
Software perspective correct paint generation would make almost all good optimizations impossible
(e.g. precomputed dda-method for scanlines).
 |
 |
 |
| Multiply image mode, affine transformation |
AmanithVG, multiply image mode, perspective transformation |
Software renderer, multiply image mode, perspective transformation |
-
Real pixel color stops interpolation, in the correct color space.
Interpolating premultiplied color stops is not equal, nor correct, to produce
premultiplied colors from the interpolation output. The example below shows a linear gradient made of three stops in the format (t,r,g,b,a):
(0.0, 1.0, 1.0, 1.0, 1.0) - (0.5, 0.0, 1.0, 1.0, 0.0) - (1.0, 1.0, 1.0, 1.0, 1.0)
 |
 |
| AmanithVG engine |
Software renderer |
AmanithVG is a trademark of Mazatech S.r.l.
Khronos and OpenVG are trademarks of The Khronos Group, Inc.
OpenGL is a registered trademark and OpenGL|ES is a trademark of Silicon Graphics, Inc.
Rasteroid is a trademark of Hybrid Graphics Ltd.
SVG is a trademark of the World Wide Web Consortium.
PostScript, PDF and Flash are registered trademark of Adobe Systems, Inc.
Java is a registered trademark of Sun Microsystems, Inc.
All other trademarks, icons, and logos, shown or mentioned in this site, are property of their respective owners.
|