Blender Git Loki

Blender Git commits from all branches.

Page: 2047 / 2888

May 18, 2016, 18:05 (GMT)
Fix widget tweaking undo after latest changes

Property pointers are invalid after undo, so we need to set them again on widget-map refresh. Would be nicer if widget code could handle this behind the scenes, so the property only had to be set on _init, but for now this is sufficient.
May 18, 2016, 16:02 (GMT)
Merge branch 'master' into soc-2016-cycles_images
May 18, 2016, 15:44 (GMT)
Rewrite Widget Update->Draw Routine (Massive Performance Boost)

This commit merges work done in temp_widgets_update_tagging branch into wiggly-widgets branch. It gives a speedup of up to ~500x (yes, 50,000%!) for simple view navigation in my benchmarks (more detailed results below).

Instead of re-creating all widgets on each redraw (like we do it for buttons), we now keep widgets and do some more advanced updating instead.
The widget-map update routine is now split into three steps:
* init - Initialize widget groups, only done once.
* refresh - Refresh data of widget groups, only if widget-map has been explicitly tagged for update by calling WM_widgetmap_tag_refresh.
* draw_prepare - Stuff that needs to be done on every redraw (currently used by 3D transform manipulator).

Also contains some unrelated cleanup.

Benchmark results:
The numbers below are average results, I repeated all tests multiple times while tying to keep conditions as similar as possible. I measured the time needed update and draw the widget map.
We have to distinguish between a simple redraw which leaves widget data mostly untouched and a data refresh. To trigger a simple redraw I rotated the view, for triggering data refreshes I continuously toggled selection.

1. Default .blend, 3 objects, transform manipulator
-- Simple redraw: ~4.5x speedup (0.00009 vs. 0.000020 sec.)
-- Data refresh: ~1.6x speedup (0.000033 vs. 0.000021 sec.)

2. Frank pose mode, 9 face map widgets + transform manipulator
-- Simple redraw: ~420x speedup (0.0231 vs. 0.000055 sec.)
-- Data refresh: ~2x speedup (0.014834 vs. 0.007417 sec.)

3. Caminandes island mesh, 197,151 verts, transform manipulator
-- Simple redraw: ~500x speedup (0.011596 vs. 0.000023 sec.)
-- Data refresh: Only ~1.05x speedup (0.009376 vs. 0.008970 sec.)
May 18, 2016, 15:43 (GMT)
Final cleanup before merge into wiggly-widgets branch
May 18, 2016, 15:40 (GMT)
Preparatory changes for differing node compiler implementations.

Uses some virtual functions of the node compiler to allow different
implementation of values. This will be used for calculating values
and partial derivatives in texture nodes.
May 18, 2016, 15:37 (GMT)
Merge branch 'master' into soc-2016-cycles_images
May 18, 2016, 14:18 (GMT)
Merge branch 'master' into cycles_hair_bvh
May 18, 2016, 14:11 (GMT)
Fix some review comments (Variable naming and spacing).
May 18, 2016, 14:10 (GMT)
Merge branch 'master' into soc-2016-cycles_images
May 18, 2016, 12:05 (GMT)
Optimize transform manipulator drawing a bit more

Avoid unnecessary operations on each redraw, also avoid ugly variable caching in RegionView3D struct memory.
May 18, 2016, 09:28 (GMT)
Use a TypeSpec pointer for structure fields rather than direct storage.
May 18, 2016, 08:22 (GMT)
Switched from a parameter struct for Disney parameters to ShaderClosure params
May 18, 2016, 08:19 (GMT)
Added additional variables for storing parameters in the ShaderClosure struct
May 18, 2016, 06:03 (GMT)
Type system refactor: Use a global type definition map instead of defining each type locally.
May 17, 2016, 22:10 (GMT)
Cleanup: Remove tmp functions added for work on this branch

And some other minor cleanup
May 17, 2016, 21:45 (GMT)
Port VSE widgets to new update system

Those were the last remaining widgets. Almost done with this branch :)
May 17, 2016, 19:49 (GMT)
Adjustments to make object widgets work with update tagging system

Object widgets are still unfinished and it's uncertain if they'll stay though.
May 17, 2016, 19:30 (GMT)
Port node editor backdrop widget to new update tagging system
May 17, 2016, 18:57 (GMT)
Merge branch 'master' into alembic_basic_io
May 17, 2016, 17:57 (GMT)
Merge branch 'wiggly-widgets' into temp_widgets_update_tagging
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021