Hi, 2D-dev.

Switching from Java 1.8.0_172 to Java 10.0.2, at least on Windows 10, it has 
become very expensive to call LineBreakMeasurer.nextLayout--it takes about 
0.8ms to render any string, even if it's just a single character. That's 
between 7 and 70(!) times slower than on Java 8, depending on how many strings 
you need to render. See the following performance test (my results pasted at 
the end):

https://gist.github.com/eirikbakke/81eec72221c9d7d8fc0b4afa9c54a163

This is a problem in our visualization app, which uses LineBreakMeasurer to 
produce a TextLayout once for every cell in a large spreadsheet-like data 
layout. Operations that were previously quick or instantaneous now introduce 
bad latencies in the user interface.

I saw the related bug https://bugs.openjdk.java.net/browse/JDK-8186317 and its 
duplicate https://bugs.openjdk.java.net/browse/JDK-8196666, but they are both 
closed.

Is this a known regression, and are there any plans to fix it?

-- Eirik

Reply via email to