Hi Denis,

Also, I've gotten another 20% improvement out of the design with a few more tweaks. (Though I measured the 20% in the stripped down version that I'm prototyping with FX so I'm not sure how much of that 20% would show up through the layers of the 2D code. Overall, I've about doubled the frame rates of the prototype since your first drop that you checked in to the OpenJDK repository.)

How about looking more at the stroking end of the process and I'll dig a little more into optimal rasterization code. I have a lot of experience with optimizing rasterizer code (and JNI if it comes to that), but very little with the curve manipulations involved in stroking (math is so *hard* at my age ;-)...

                        ...jim

On 11/4/2010 9:20 AM, Clemens Eisserer wrote:
Hi Denis,

It's not obvious to me why this happened, so I think now I will put
this type of optimization aside and convert to JNI,

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.

where profiling
will be easier (for me - I haven't been able to make OProfile work
for java yet).

Have you had a look at the Netbeans profiler? It supports sampling
based testing to keep the influence of the profiler at a minimum.

Thanks for working on this!

- Clemens

Reply via email to