Please help with testing of new Warp Layer

Hi everyone! @blackwarthog has finished rewriting of Warp Layer.

I have confirmed that it is fixes following bugs -


Also I have made some testing:

1. Test with “Clip” parameter off

warp-checkerboard-2point-noclip-horizon-7.sif

Script:

mkdir -p /tmp/synfig-test/

export TEST=/home/konstantin/sources/synfig-tests/rendering/sources/layers/warp/warp-checkerboard-2point-noclip-horizon-7.sif

time ~/soft/synfigstudio-1.0.2-20151008.x86_64/synfig -t png -w 640 -h 360 "$TEST" -o /tmp/synfig-test/synfigstudio-1.0.2.png

real	1m3,170s
user	0m55,032s
sys	0m8,136s

time /home/konstantin/sources/synfig.waypoints/_production/build/bin/synfig -t png -w 640 -h 360 "$TEST" -o /tmp/synfig-test/synfigstudio-1.3.12.png

real	4m26,876s
user	4m6,624s
sys	0m19,726s

time /home/konstantin/sources/synfig/_production/build/bin/synfig -t png -w 640 -h 360 "$TEST" -o /tmp/synfig-test/synfigstudio-master.png

real	1m2,444s
user	1m16,303s
sys	0m6,543s

As you can see, the speed of new Warp Layer is the same as in version 1.0.2. And 1.3.12 is 4 times slower.

But, if we compare output images, then we will see that version 1.0.2 doesn’t has antialiasing, 1.3.12 has it and new Warp Layer (current master) also has it:

v1.0.2:
test-1-synfigstudio-1.0.2.0120

v1.3.12:
test-1-synfigstudio-1.3.2.0000

master (new Warp Layer):
test-1-synfigstudio-master.0000

(you might want to open those images in separate viewer to see the difference better)

Conclusion for Test 1: New Warp Layer gives higher output quality at the same speed as version 1.0.2.

Consider also following things:

  • Version 1.0.2 and 1.3.12 failed to render the test file at resolution 1920x1080 (full HD). Version from master branch rendered it successfully.
  • In GUI, when workarea uses Preview mode (enabled by default) the New Warp layer will be rendered without anti-aliasing, so it will be even faster than on 1.0.2.

2. Test with “Clip” parameter on

warp-checkerboard-1point-horizon-4.sif

Script:

mkdir -p /tmp/synfig-test/

export TEST=/home/konstantin/sources/synfig-tests/rendering/sources/layers/warp/warp-checkerboard-1point-horizon-4.sif

time ~/soft/synfigstudio-1.0.2-20151008.x86_64/synfig -t png -w 640 -h 360 "$TEST" -o /tmp/synfig-test/synfigstudio-1.0.2.png

real	0m14,740s
user	0m12,928s
sys	0m1,812s

time /home/konstantin/sources/synfig.waypoints/_production/build/bin/synfig -t png -w 640 -h 360 "$TEST" -o /tmp/synfig-test/synfigstudio-1.3.12.png

real	0m32,645s
user	0m31,486s
sys	0m1,157s

time /home/konstantin/sources/synfig/_production/build/bin/synfig -t png -w 640 -h 360 "$TEST" -o /tmp/synfig-test/synfigstudio-master.png

real	0m18,471s
user	0m25,508s
sys	0m0,116s

As you can see, the first place here gets version 1.0.2 (14 seconds). New Warp Layer is at second place (18 seconds). And version 1.3.12 is last one (32 seconds).

At the same time, I remind that version 1.0.2 doesn’t has anti-aliasing, so new Warp Layer can win in GUI (when workarea is in Preview mode).

Conclusion for Test 2: New Warp Layer is a bit slower than version 1.0.2, but in GUI it might be comparable or faster.

Unfortunately, currently GUI doesn’t allows to test performance. It would be nice to be able to choose renderer type in console - then we can compare. Anyone can help implementing this?

Also, to all forum community:
Please help with testing new Warp Layer - maybe you can find better examples showing if it slower or faster, or maybe producing different results. Thank you!

1 Like

Consider, that new implementation of Warp Layer has Horizon Parameter removed. I have updated our test suite to reflect that - https://gitlab.com/synfig/synfig-tests/-/commit/acebc75fdd1eb4dafc9b1ff5615672962c6fc477

After latest fixes, Warp Layer is rendered with simplifications when workarea uses Preview or Draft mode. The speed is more than 3x times faster now.

In previous post I have mentioned that it is impossible to measure speed of Preview and Draft mode. Now there is a new tool, that is shipped with synfigstudio. Currently it is called “vizualization”, but I suggesting to rename it into “synfigplayer”. It plays Synfig files and measures how much time used for rendering operations. Also it allows to choose render engine to be used for visualization. This is how I was able to compare speed increase.

Also, Warp Layer now has new parameter - “Interpolation” - which allows you to optimize quality for final Render.

With all those changes the new implementation of Warp Layer is far faster than in any previous version.

1 Like

One more interesting test:

warp-checkerboard-x2-1point-clip.sif

It’s the same as second test 2 form previous post, but uses 2 checkerboard layers.

Measurements:

mkdir -p /tmp/synfig-test/

export TEST=/home/konstantin/sources/synfig-tests/rendering/sources/layers/warp/warp-checkerboard-x2-1point-clip.sif

time ~/soft/synfigstudio-1.0.2-20151008.x86_64/synfig -t png -w 640 -h 360 "$TEST" -o /tmp/synfig-test/synfigstudio-1.0.2.png


real	0m25,462s
user	0m23,856s
sys	0m1,602s

time /home/konstantin/sources/synfig/_production/build/bin/synfig -t png -w 640 -h 360 "$TEST" -o /tmp/synfig-test/synfigstudio-master.png

real	0m9,622s
user	0m11,672s
sys	0m0,145s

In this case new Warp Layer is faster than rendering in 1.0.2 more than two times!
This is because rendering in version 1.0.2 is very dependent on number of layers - the more layers you have, the more speed degrades (even if you use simple layers).

Thanks to @blackwarthog for explaining this here.