YOUR ACCOUNT

Login or Register to post new topics or replies
Velho
Velho
Posts: 53
Filters: 6
Line draw benchmark by Velho
http://www.filterforge.com/filters/11715.html

  Details E-Mail
Velho
Velho
Posts: 53
Filters: 6
Just to clarify: these methods are for drawing a line from point A to point B.

Demonstrating line drawing methods:

1: rectangle, line ends masked
2: rectangle, line ends masked & rounded ends
3: rectangle, no masking, continuous
4: rectangle, no masking, scaled to length
5: polygon, line ends masked
6: gradient, rotated, line ends masked
7: gradient (line width varies, not worth fixing)
8: script by ThreeDee
9: script by Velho
10: RGB math components


Benchmark:
-image size 600x600 pixels
-500 iterations
-blend mode lighten (#6)
-anti alias off
-start X/Y: 50/50

Render time
1: 1min 6s
2: 1min 21s
3: 1min 19s
4: 2min 21s
5: 1min 3s
6: 1min 38s
7: 1min 33s
8: 5min 30s
9: 5min 22s
10: 3min 46s

System: Intel i7-3770K 3.50GHz

Recommendations
Fast lines: method 1 (easier to use than polygon, has bevel)
Lines with rounded ends: method 2
Lines with gradients or patterns: method 4

----------------------------------------------------

There is one method missing, drawing a line with linear curves and gradients. This method got quite messy form the start, so I omitted it. It's possible to use this method, though I found it not very useful.


I made a simpler line with a gradient, it's as fast as the rectangle method. The line thickness varies, though (could be fixed, but with a cost). Explained:

  Details E-Mail
Velho
Velho
Posts: 53
Filters: 6
Here is a gradient line, 500 iterations, render time about 1 minute.

  Details E-Mail
Velho
Velho
Posts: 53
Filters: 6
Another gradient line, 500 iterations, render time about 1 minute.

  Details E-Mail
ThreeDee
Lost in Space

Posts: 1672
Filters: 112
Coolness. This will come in handy for a number of things!

Very interesting first example, looks like a close-up photo of a flower.
  Details E-Mail
SpaceRay
SpaceRay

Posts: 12298
Filters: 35
Very good, interesting and cool, will see how it works and then will do the benchmark that you have suggested
  Details E-Mail
Velho
Velho
Posts: 53
Filters: 6
Quote
will do the benchmark that you have suggested


No, sorry, I suggested improving the methods. Although, I'd be interested to see the rendering time of the first method on slower computers.
  Details E-Mail
Skybase
2D/3D Generalist

Posts: 4025
Filters: 76
I always think gradients and thresholds are ridiculously fast compared to polygon components in general. Translate components can also add to render times. The stuff we did back in 1.0 where we'd use offsets to do most of the translation seemed ridiculously fast compared to how we do it in versions beyond 1.0. Just that stuff's more convenient.
  Details E-Mail
Velho
Velho
Posts: 53
Filters: 6
By the way, since the RGB math components accept different values for each channel, you can draw four separate lines at the same time. I did a quick test with RGB channels, but the overhead from the channel extract and assemble components inflated the render time to 11 minutes (200 iterations).
  Details E-Mail
SpaceRay
SpaceRay

Posts: 12298
Filters: 35
I want to thanks again very much for this filter to benchmark what would be the fastest way to be able to use for drawing a line from point A to point B

Is curious and interesting that using a script for this is 5 times slower than other ways and they are the slowest option at the bottom of the benchmark

The list in the first post above or in the About tab is not ordered according to the fastest one, so I have reorganized it

BENCHMARK LIST ACCORDING TO THE FASTEST OPTION


The first number at the left is the "Line Drawing Method" number in Settings tab or inside filter editor

5: 1min 3s polygon, line ends masked
1: 1min 6s rectangle, line ends masked
3: 1min 19s rectangle, no masking, continuous
2: 1min 21s rectangle, line ends masked & rounded ends
7: 1min 33s gradient (line width varies, not worth fixing)
6: 1min 38s gradient, rotated, line ends masked
4: 2min 21s rectangle, no masking, scaled to length
10: 3min 46s RGB math components
9: 5min 22s script by Velho
8: 5min 30s script by ThreeDee

have also made a new thread about this topic

10 different methods for drawing a line in FF from point A to point B
  Details E-Mail

Join Our Community!

Filter Forge has a thriving, vibrant, knowledgeable user community. Feel free to join us and have fun!

33,711 Registered Users
+18 new in 30 days!

153,531 Posts
+39 new in 30 days!

15,347 Topics
+72 new in year!

Create an Account

Online Users Last minute:

25 unregistered users.