diff options
author | John Firebaugh <john.firebaugh@gmail.com> | 2017-03-16 17:00:43 -0700 |
---|---|---|
committer | John Firebaugh <john.firebaugh@gmail.com> | 2017-03-17 08:27:53 -0700 |
commit | ff413f6b99d7cb7b7482d56479f10e0a8fe83046 (patch) | |
tree | a0a7aab5a9eb785565b6d8c90632d864aa1101a5 /src/clipper/clipper.cpp | |
parent | 0dca6cd9bfdb1fb77f7755d639f92a6a1ba06dc1 (diff) | |
download | qtlocation-mapboxgl-ff413f6b99d7cb7b7482d56479f10e0a8fe83046.tar.gz |
[core] Fix overspecialization of PaintPropertyBinder template
PaintPropertyBinder and subclass templates were being instantiated for every unique attribute type (e.g. a_color, a_fill_color, a_halo_color) even though they behave identically for a given property value type (e.g. Color). To fix this, a unique type such as a_color no longer derives from gl::Attribute<...> -- instead it has an inner Type typedef, which should be used wherever neither a unique type nor attribute name is required. This reduces binary size substantially:
VM SIZE FILE SIZE
++++++++++++++ GROWING ++++++++++++++
-------------- SHRINKING --------------
-2.0% -49.3Ki __TEXT,__text -49.3Ki -2.0%
-3.1% -5.21Ki [None] -2.79Ki -1.6%
-2.1% -4.12Ki __TEXT,__const -4.12Ki -2.1%
-1.4% -4.04Ki __TEXT,__gcc_except_tab -4.04Ki -1.4%
-19.3% -3.62Ki __DATA,__data -3.62Ki -19.3%
-2.5% -1.65Ki __TEXT,__unwind_info -1.65Ki -2.5%
-4.2% -8 __DATA,__mod_init_func 0 [ = ]
-1.9% -68.0Ki TOTAL -65.6Ki -1.9%
Diffstat (limited to 'src/clipper/clipper.cpp')
0 files changed, 0 insertions, 0 deletions