New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixing 'LowRes' option in Cobra engine [$20 awarded] #401

Closed
Svarov-RZM opened this Issue Aug 14, 2017 · 9 comments

Comments

4 participants
@Svarov-RZM

Svarov-RZM commented Aug 14, 2017

Description:

'LowRes' mode isn't working. I guess it was never implemented in a new engine.
Whenever you enable it, Synfig:

  • Render objects with artifacts on different zoom levels
  • Applies some random offset to the object. Also appears when changing zoom levels
  • Enters in constant rendering loop with 100% CPU usage

Importance:

I would like to point, that when you work on a big scene with a lot of raster images mixed with distortions, this issue becomes a pain in... that place. I am personally very interested in this issue to get solved because it's one of two problems that holds me on 1.0.2 version. It can be said that old engine is still better is some areas like this one.

To reproduce:

Open a new project -> add Circle -> enable LowRes and play with zoom level and you'll see all the bugs I listed above. Actually, I believe you can experience all those issues with LowRes on any project.

Experienced on:

Windows 10 Pro with Synfig 1.3.4. Would like to hear if other platforms has the same issue.

Related:

#273 - about wrong offset.
#258 - about rendering loop.


The $20 bounty on this issue has been claimed at Bountysource.

@Svarov-RZM

This comment has been minimized.

Svarov-RZM commented Aug 14, 2017

Posted bounty: $20.

@morevnaproject

This comment has been minimized.

Member

morevnaproject commented Aug 20, 2017

Hello @Svarov-RZM! Thank you for posting a bounty! I will add this to our queue list and do my best to spread a word about it.

@morevnaproject

This comment has been minimized.

@morevnaproject morevnaproject added this to Backlog in Releases Aug 20, 2017

@blackwarthog blackwarthog moved this from Backlog to In Progress in Releases Aug 24, 2017

blackwarthog added a commit to blackwarthog/synfig that referenced this issue Aug 24, 2017

@blackwarthog blackwarthog moved this from In Progress to Done in Releases Aug 24, 2017

@morevnaproject

This comment has been minimized.

Member

morevnaproject commented Aug 24, 2017

@blackwarthog I am trying to build current implementation in master. Got the following error on Ubuntu 16.04:

make[4]: Entering directory '/home/konstantin/sources/synfig.render/synfig-core/src/modules/mod_png'
/bin/bash ../../../libtool  --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H   -I../../.. -I../../../src  -I/usr/include -std=c++11 -I/usr/include/glibmm-2.4 -I/usr/lib/x86_64-linux-gnu/glibmm-2.4/include -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/sigc++-2.0 -I/usr/lib/x86_64-linux-gnu/sigc++-2.0/include -pthread -std=c++11 -I/usr/include/giomm-2.4 -I/usr/lib/x86_64-linux-gnu/giomm-2.4/include -I/usr/include/glibmm-2.4 -I/usr/lib/x86_64-linux-gnu/glibmm-2.4/include -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/sigc++-2.0 -I/usr/lib/x86_64-linux-gnu/sigc++-2.0/include -std=c++11 -I/usr/include/libxml++-2.6 -I/usr/lib/x86_64-linux-gnu/libxml++-2.6/include -I/usr/include/libxml2 -I/usr/include/glibmm-2.4 -I/usr/lib/x86_64-linux-gnu/glibmm-2.4/include -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/sigc++-2.0 -I/usr/lib/x86_64-linux-gnu/sigc++-2.0/include -fopenmp -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16 -fopenmp -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16 -fopenmp -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16 -I/usr/include/x86_64-linux-gnu//ImageMagick-6 -I/usr/include/ImageMagick-6 -I/usr/include/x86_64-linux-gnu//ImageMagick-6 -I/usr/include/ImageMagick-6 -I/usr/include/x86_64-linux-gnu//ImageMagick-6 -I/usr/include/ImageMagick-6 -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -D_REENTRANT -I/usr/include/mlt++ -I/usr/include/mlt -I/home/konstantin/synfig.test/include -std=c++11 -I/usr/include/sigc++-2.0 -I/usr/lib/x86_64-linux-gnu/sigc++-2.0/include -DSYNFIG_NO_DEPRECATED -DLOCALEDIR=\"/home/konstantin/synfig.test/share/locale\" -std=c++11 -O2 -DNDEBUG -W -Wall -MT libmod_png_la-trgt_png.lo -MD -MP -MF .deps/libmod_png_la-trgt_png.Tpo -c -o libmod_png_la-trgt_png.lo `test -f 'trgt_png.cpp' || echo './'`trgt_png.cpp
libtool: compile:  g++ -DHAVE_CONFIG_H -I../../.. -I../../../src -I/usr/include -std=c++11 -I/usr/include/glibmm-2.4 -I/usr/lib/x86_64-linux-gnu/glibmm-2.4/include -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/sigc++-2.0 -I/usr/lib/x86_64-linux-gnu/sigc++-2.0/include -pthread -std=c++11 -I/usr/include/giomm-2.4 -I/usr/lib/x86_64-linux-gnu/giomm-2.4/include -I/usr/include/glibmm-2.4 -I/usr/lib/x86_64-linux-gnu/glibmm-2.4/include -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/sigc++-2.0 -I/usr/lib/x86_64-linux-gnu/sigc++-2.0/include -std=c++11 -I/usr/include/libxml++-2.6 -I/usr/lib/x86_64-linux-gnu/libxml++-2.6/include -I/usr/include/libxml2 -I/usr/include/glibmm-2.4 -I/usr/lib/x86_64-linux-gnu/glibmm-2.4/include -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/sigc++-2.0 -I/usr/lib/x86_64-linux-gnu/sigc++-2.0/include -fopenmp -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16 -fopenmp -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16 -fopenmp -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16 -I/usr/include/x86_64-linux-gnu//ImageMagick-6 -I/usr/include/ImageMagick-6 -I/usr/include/x86_64-linux-gnu//ImageMagick-6 -I/usr/include/ImageMagick-6 -I/usr/include/x86_64-linux-gnu//ImageMagick-6 -I/usr/include/ImageMagick-6 -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -D_REENTRANT -I/usr/include/mlt++ -I/usr/include/mlt -I/home/konstantin/synfig.test/include -std=c++11 -I/usr/include/sigc++-2.0 -I/usr/lib/x86_64-linux-gnu/sigc++-2.0/include -DSYNFIG_NO_DEPRECATED -DLOCALEDIR=\"/home/konstantin/synfig.test/share/locale\" -std=c++11 -O2 -DNDEBUG -W -Wall -MT libmod_png_la-trgt_png.lo -MD -MP -MF .deps/libmod_png_la-trgt_png.Tpo -c trgt_png.cpp  -fPIC -DPIC -o .libs/libmod_png_la-trgt_png.o
trgt_png.cpp: In member function 'virtual bool png_trgt::start_frame(synfig::ProgressCallback*)':
trgt_png.cpp:224:2: error: too many initializers for 'png_text {aka png_text_struct}'
  };
  ^
trgt_png.cpp:224:2: error: too many initializers for 'png_text {aka png_text_struct}'
trgt_png.cpp:224:2: error: too many initializers for 'png_text {aka png_text_struct}'
Makefile:632: recipe for target 'libmod_png_la-trgt_png.lo' failed
make[4]: *** [libmod_png_la-trgt_png.lo] Error 1
make[4]: Leaving directory '/home/konstantin/sources/synfig.render/synfig-core/src/modules/mod_png'
Makefile:583: recipe for target 'all-recursive' failed
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory '/home/konstantin/sources/synfig.render/synfig-core/src/modules'
Makefile:484: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/home/konstantin/sources/synfig.render/synfig-core/src'
Makefile:709: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/konstantin/sources/synfig.render/synfig-core'
Makefile:577: recipe for target 'all' failed
make: *** [all] Error 2

@morevnaproject morevnaproject moved this from Done to In Progress in Releases Aug 24, 2017

@blackwarthog blackwarthog moved this from In Progress to Done in Releases Aug 25, 2017

@blackwarthog

This comment has been minimized.

Collaborator

blackwarthog commented Aug 25, 2017

Seems commit 6c807ce is incompatible with older versions of libpng and i've reverted some changes.

@morevnaproject

This comment has been minimized.

Member

morevnaproject commented Aug 25, 2017

Thank you, it builds fine now. ^__^
I have tested the fix and LowRes now gives significant speed boost for some scenes! Though, when I hit Playback button, the LowRes option is ignored - it plays in full resolution.

@morevnaproject morevnaproject moved this from Done to In Progress in Releases Aug 25, 2017

@blackwarthog

This comment has been minimized.

Collaborator

blackwarthog commented Aug 25, 2017

Fixed

@blackwarthog blackwarthog moved this from In Progress to Done in Releases Aug 25, 2017

@Svarov-RZM

This comment has been minimized.

Svarov-RZM commented Dec 19, 2017

I've got my hands on 1.3.5 test build and can confirm that LowRes is working properly.

@blackwarthog
Thanks for restoring LowRes feature, there's no life without it ;)
You can submit the claim again.

@morevnaproject morevnaproject moved this from Done to Released in Releases Dec 25, 2017

@morevnaproject

This comment has been minimized.

Member

morevnaproject commented Dec 25, 2017

@morevnaproject morevnaproject changed the title from Fixing 'LowRes' option in Cobra engine to Fixing 'LowRes' option in Cobra engine [$20 awarded] Mar 26, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment