Более быстрый метод, чем TextLayout.draw () - Graphics2D? - PullRequest
0 голосов
/ 30 мая 2018

Я делаю следующее, чтобы записать текст в растровое изображение:

AttributedString as = new AttributedString(buf.toString());
FontRenderContext frc = graphics.getFontRenderContext();
LineBreakMeasurer lineMeasurer = new LineBreakMeasurer(as.getIterator(), frc);
TextLayout layout = lineMeasurer.nextLayout(Integer.MAX_VALUE);
layout.draw (graphics, left, line.getBaseline());

Проблема в том, что, хотя это очень быстро в Java, мы также завершаем это, используя IKVM для работы в .NET, и это ужаснотам медленно.

Есть ли другой способ записи отформатированного текста в объект Graphics2D?

1 Ответ

0 голосов
/ 01 июля 2018

Мы нашли проблему в IKVM (он воссоздал массив один раз для каждой точки кривой для каждого глифа - так буквально миллионы созданий массива).

Мы исправили это в IKVM, и теперь оно быстро светится и в IKVM.Если вы столкнулись с той же проблемой, у нас есть это исправление на https://www.nuget.org/packages/IKVM.WINDWARD/.

...