我将Java2D与apache蜡染结合使用以绘制一些相当大的svg图像。
到目前为止,它运行良好,但是我对区域的性能感到沮丧。特别是,我要完成三件事:
天真地,点1和2可以用Area.add
和Area.subtract
完成。这可行,但是在一个平均用例中很容易花费多达20分钟。
点3可以通过相互减去面积并检查剩余面积来实现。仍然很慢,但是可以通过使用某些先前的空间哈希或类似方法加快使用。
是否有更好,更快的方法来合并/减去Java2D区域?如果没有,是否还有另一个库可以更快地完成这种事情?
不幸的是,像JOGL或LWJGL之类的库无法在与分辨率无关的空间(如svg-paths或Java2D Paths)上工作。