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:
v1.3.12:
master (new Warp Layer):
(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!