Problem/Motivation
Using views_plugin_style::render() to get labels from $view->style_plugin->rendered_fields is very taxing on 10000+ rows.
Proposed resolution
Get labeled field results of a view, as an efficient alternative to render(), and hijack render() with highcharts_views_plugin_style_highcharts::render().
API changes
Using this method, views theme templates will no longer work on Highchart views. However, that is probably desired anyway… see #1561694-6: Highcharts views theme functions and templates.
We already have a themeable function - theme_highcharts_chart() - and individual Highcharts-related theme concerns can already be addressed on individual charts using the Highcharts library options API. Ultimately, for Highchart views display styles, we only want the data from Views - and we delegate all rendering to Highcharts. Hopefully this bypassing of Views standard rendering is worth the huge performance boost we will get.
Comments
Comment #1
scottrigbyCommitted as part of 84f4128
Comment #2
scottrigbywill be testable once #1674928: Allow full use of Highcharts library Options in Views is done
Comment #3
scottrigbyPostponed until #1674928: Allow full use of Highcharts library Options in Views is finished.