[OpenJDK 2D-Dev] X11 uniform scaled wide lines and dashed lines; STROKE_CONTROL in Pisces
james.graham at oracle.com
Mon Nov 8 10:49:02 PST 2010
On 11/8/2010 6:34 AM, Denis Lila wrote:
> Hi Clemens.
>> I've only followed your discussion with Jim but skipped all the
>> in-depth discussion.
>> From my prior experiences usually JNI is not woth the trouble, if
>> you don't have a serious reason why using native code would have
>> advantages (like the possibility of using SIMD or when value-types
>> would be a huge benefit), it has its own performance pitfalls
>> especially if the workload is small and things like Get*ArrayCritical
>> cause scalability problems because they have to lock the GC.
> Well, Jim Graham said that a native version of the engine still runs
> a lot faster than the version with all my changes. That's why I thought
Actually, that report is old. I've now got the new Java version turning
in double the frame rates of the old native version.
> it would be a good idea. Also, when not doing antialiasing we usually
> feed paths to native consumers, so I thought if pisces used JNI, we
> could reduce the java->C transitions five fold. But then I realized that
> with antialiasing the opposite would happen, so I'm not sure whether
> JNI is a good idea.
That's a good point that the other rasterizers will end up using this
stroking engine and they are native. We can worry about cleaning that
up later. JNI might eventually be a good idea, but lets fix the
algorithm first and then worry about whether it will help this renderer
or if we can make the interface to the other renderers simpler.
More information about the 2d-dev