New in 4.1: LineStyle = RoundedLineWithJumpGap

New GoStrokeStyle for Orthogonal lines: RoundedLineWithJumpGaps


Thanks very much for this one Jake. the support is great.

I have a problem with prismatically when drawing diagrams with a large number of objects GoLink with Style = GoStrokeStyle.RoundedLineWithJumpOvers. If I change it to GoStrokeStyle.Line it’s OK. Can I optimize the rendering process somehow?

I have a problem with performance*

If you use Jump Gap, do you see a difference in performance?

Use RoundedLineWithJumpGaps will increase your drawing speed. In my example the navigation scheme takes about 3-4 seconds to redraw.

According to the internal standards of the company, the rendering of intersections should be such, as shown below. RoundedLineWithJumpOvers closest to desired rendering, but it is very slow on large circuits.

What I’m try to determine is whether it is the detection of the intersections or the drawing that is taking the time.

The code for RoundedLineWithJumpGaps and RoundedLineWithJumpOvers is exactly the same except for drawing the rounded bit… both options have to discover the intersection.

Given your example… it sure looks like it is the detection that is the problem… simply changing out the loop to straight line segments isn’t going to make it any faster.

So… is RoundedLineWithJumpGaps ALSO too slow for you?

I have cited example is the search result of problems with long render.
Both styles RoundedLineWithJumpGaps and RoundedLineWithJumpOvers on large circuits are very slow. If I change the style on Line - all rendered almost instantly. In the end I came to the question of the possibility of overloading rendering method of intersections.

Sorry for my English(

“I searched the problem with slow rendering scheme. In the end I created this example. It was clearly noticeable difference in speed when rendering style RoundedLineWithJumpGaps, RoundedLineWithJumpOvers and Line”

Ok, if that’s true, it is a “finding the intersections” that is the performance issue, not the rendering.

And given your sample, I guess I’m not surprised.

ah… suggestion. Only set RoundedLineWithJumpOvers on links where a cross over is possible… if you can make that decision quickly. You have lots of nodes with a simple, short stroke between them. You must be doing some layout of the nodes here, maybe you have enough info…

how often do you do the layout? If the layout is relatively static… you can pay the cost upfront of setting the right links to RoundedLineWithJumpOvers.

Note… you have to set the Style on both links involved in the crossover.