Branch: refs/heads/master Home: https://github.com/synfig/synfig Commit: e23b229208f2cc9e8b37c46857eeaf629b4d8e1a https://github.com/synfig/synfig/commit/e23b229208f2cc9e8b37c46857eeaf629b4d8e1a Author: ice0 <konop...@gmail.com> Date: 2022-09-13 (Tue, 13 Sep 2022)
Changed paths: M synfig-core/src/synfig/bone.cpp M synfig-core/src/synfig/canvas.cpp M synfig-core/src/synfig/general.h M synfig-core/src/synfig/layer.cpp M synfig-core/src/synfig/layers/layer_skeleton.cpp M synfig-core/src/synfig/loadcanvas.cpp M synfig-core/src/synfig/node.cpp M synfig-core/src/synfig/savecanvas.cpp M synfig-core/src/synfig/transform.cpp M synfig-core/src/synfig/valuenode.cpp M synfig-core/src/synfig/valuenodes/valuenode_add.cpp M synfig-core/src/synfig/valuenodes/valuenode_and.cpp M synfig-core/src/synfig/valuenodes/valuenode_anglestring.cpp M synfig-core/src/synfig/valuenodes/valuenode_animatedinterface.cpp M synfig-core/src/synfig/valuenodes/valuenode_atan2.cpp M synfig-core/src/synfig/valuenodes/valuenode_average.cpp M synfig-core/src/synfig/valuenodes/valuenode_bline.cpp M synfig-core/src/synfig/valuenodes/valuenode_blinecalctangent.cpp M synfig-core/src/synfig/valuenodes/valuenode_blinecalcvertex.cpp M synfig-core/src/synfig/valuenodes/valuenode_blinecalcwidth.cpp M synfig-core/src/synfig/valuenodes/valuenode_blinereversetangent.cpp M synfig-core/src/synfig/valuenodes/valuenode_bone.cpp M synfig-core/src/synfig/valuenodes/valuenode_boneinfluence.cpp M synfig-core/src/synfig/valuenodes/valuenode_bonelink.cpp M synfig-core/src/synfig/valuenodes/valuenode_boneweightpair.cpp M synfig-core/src/synfig/valuenodes/valuenode_compare.cpp M synfig-core/src/synfig/valuenodes/valuenode_composite.cpp M synfig-core/src/synfig/valuenodes/valuenode_const.cpp M synfig-core/src/synfig/valuenodes/valuenode_cos.cpp M synfig-core/src/synfig/valuenodes/valuenode_derivative.cpp M synfig-core/src/synfig/valuenodes/valuenode_dilist.cpp M synfig-core/src/synfig/valuenodes/valuenode_dotproduct.cpp M synfig-core/src/synfig/valuenodes/valuenode_duplicate.cpp M synfig-core/src/synfig/valuenodes/valuenode_dynamic.cpp M synfig-core/src/synfig/valuenodes/valuenode_dynamiclist.cpp M synfig-core/src/synfig/valuenodes/valuenode_exp.cpp M synfig-core/src/synfig/valuenodes/valuenode_gradientcolor.cpp M synfig-core/src/synfig/valuenodes/valuenode_gradientrotate.cpp M synfig-core/src/synfig/valuenodes/valuenode_integer.cpp M synfig-core/src/synfig/valuenodes/valuenode_intstring.cpp M synfig-core/src/synfig/valuenodes/valuenode_join.cpp M synfig-core/src/synfig/valuenodes/valuenode_linear.cpp M synfig-core/src/synfig/valuenodes/valuenode_log.cpp M synfig-core/src/synfig/valuenodes/valuenode_modulo.cpp M synfig-core/src/synfig/valuenodes/valuenode_not.cpp M synfig-core/src/synfig/valuenodes/valuenode_or.cpp M synfig-core/src/synfig/valuenodes/valuenode_pow.cpp M synfig-core/src/synfig/valuenodes/valuenode_radialcomposite.cpp M synfig-core/src/synfig/valuenodes/valuenode_range.cpp M synfig-core/src/synfig/valuenodes/valuenode_real.cpp M synfig-core/src/synfig/valuenodes/valuenode_realstring.cpp M synfig-core/src/synfig/valuenodes/valuenode_reciprocal.cpp M synfig-core/src/synfig/valuenodes/valuenode_reference.cpp M synfig-core/src/synfig/valuenodes/valuenode_repeat_gradient.cpp M synfig-core/src/synfig/valuenodes/valuenode_reverse.cpp M synfig-core/src/synfig/valuenodes/valuenode_scale.cpp M synfig-core/src/synfig/valuenodes/valuenode_segcalctangent.cpp M synfig-core/src/synfig/valuenodes/valuenode_segcalcvertex.cpp M synfig-core/src/synfig/valuenodes/valuenode_sine.cpp M synfig-core/src/synfig/valuenodes/valuenode_staticlist.cpp M synfig-core/src/synfig/valuenodes/valuenode_step.cpp M synfig-core/src/synfig/valuenodes/valuenode_stripes.cpp M synfig-core/src/synfig/valuenodes/valuenode_subtract.cpp M synfig-core/src/synfig/valuenodes/valuenode_switch.cpp M synfig-core/src/synfig/valuenodes/valuenode_timedswap.cpp M synfig-core/src/synfig/valuenodes/valuenode_timeloop.cpp M synfig-core/src/synfig/valuenodes/valuenode_timestring.cpp M synfig-core/src/synfig/valuenodes/valuenode_twotone.cpp M synfig-core/src/synfig/valuenodes/valuenode_vectorangle.cpp M synfig-core/src/synfig/valuenodes/valuenode_vectorlength.cpp M synfig-core/src/synfig/valuenodes/valuenode_vectorx.cpp M synfig-core/src/synfig/valuenodes/valuenode_vectory.cpp M synfig-core/src/synfig/valuenodes/valuenode_weightedaverage.cpp M synfig-core/src/synfig/valuenodes/valuenode_wplist.cpp M synfig-studio/src/gui/canvasview.cpp M synfig-studio/src/gui/cellrenderer/cellrenderer_time.cpp M synfig-studio/src/gui/cellrenderer/cellrenderer_value.cpp M synfig-studio/src/gui/dialogs/dialog_gradient.cpp M synfig-studio/src/gui/docks/dockdialog.cpp M synfig-studio/src/gui/duckmatic.cpp M synfig-studio/src/gui/instance.cpp M synfig-studio/src/gui/trees/historytreestore.cpp M synfig-studio/src/gui/trees/keyframetree.cpp M synfig-studio/src/gui/trees/keyframetreestore.cpp M synfig-studio/src/gui/trees/layergrouptree.cpp M synfig-studio/src/gui/trees/layergrouptreestore.cpp M synfig-studio/src/gui/trees/layerparamtreestore.cpp M synfig-studio/src/gui/trees/layertree.cpp M synfig-studio/src/gui/trees/layertreestore.cpp M synfig-studio/src/gui/trees/metadatatreestore.cpp M synfig-studio/src/gui/workarea.cpp M synfig-studio/src/synfigapp/action.cpp M synfig-studio/src/synfigapp/action_system.cpp M synfig-studio/src/synfigapp/canvasinterface.cpp M synfig-studio/src/synfigapp/instance.cpp Log Message: ----------- getenv is very slow on Windows, so I replaced most of the logging calls with a macro that is disabled by default. (#2826) getenv is very slow on Windows, so I replaced most of the logging calls with a macro that is disabled by default. Benchmark test (used a null target to exclude rendering impact): ``` ./synfig synfig-core/examples/pirates.sif -o pirates.png -t null ``` All benchmarks made on Release builds. Windows (MSVC) before: ``` Execution time: 28.352 s Execution time: 28.345 s Execution time: 28.391 s ``` Avg: 28362 ms Windows (MSVC) after: ``` Execution time: 6.140 s Execution time: 6.341 s Execution time: 6.201 s ``` Avg: 6227 ms Improvement: **4.55x faster** (455%) Windows (MinGW) before: ``` real 0m19.757s real 0m18.605s real 0m18.697s ``` Avg: 19019 ms Windows (MinGW) after: ``` real 0m6.842s real 0m6.816s real 0m6.772s ``` Avg: 6810 ms Improvement: **2,79x faster** (279%) Linux before: ``` ./synfig -o pirates.png -t null 3,72s user 0,39s system 109% cpu 3,756 total ./synfig -o pirates.png -t null 3,83s user 0,37s system 109% cpu 3,834 total ./synfig -o pirates.png -t null 3,71s user 0,42s system 109% cpu 3,778 total ``` Average: 3789 ms Linux after: ``` ./synfig -o pirates.png -t null 3,62s user 0,38s system 111% cpu 3,583 total ./synfig -o pirates.png -t null 3,50s user 0,40s system 110% cpu 3,523 total ./synfig -o pirates.png -t null 3,52s user 0,39s system 108% cpu 3,593 total ``` Average: 3566 ms Improvement: 0,06x (6%) macOS before: ``` ./synfig synfig-core/examples/pirates.sif -o - 2,85s user 0,31s system 108% cpu 2,928 total ./synfig synfig-core/examples/pirates.sif -o - 2,84s user 0,32s system 108% cpu 2,911 total ./synfig synfig-core/examples/pirates.sif -o - 2,83s user 0,31s system 108% cpu 2,898 total ``` Average: 2912 ms macOS after: ``` ./synfig synfig-core/examples/pirates.sif -o - 2,57s user 0,31s system 108% cpu 2,642 total ./synfig synfig-core/examples/pirates.sif -o - 2,57s user 0,31s system 109% cpu 2,642 total ./synfig synfig-core/examples/pirates.sif -o - 2,57s user 0,31s system 108% cpu 2,641 total ``` Average: 2642 ms Improvement: 0,1x (10%) _______________________________________________ Synfig-devl mailing list Synfig-devl@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/synfig-devl