| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178 |
- /* *
- *
- * Copyright (c) 2019-2020 Highsoft AS
- *
- * Boost module: stripped-down renderer for higher performance
- *
- * License: highcharts.com/license
- *
- * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
- *
- * */
- 'use strict';
- import '../../Core/Globals.js';
- /**
- * @requires modules/boost
- * @apioption boost
- */
- /**
- * Set the series threshold for when the boost should kick in globally.
- *
- * Setting to e.g. 20 will cause the whole chart to enter boost mode
- * if there are 20 or more series active. When the chart is in boost mode,
- * every series in it will be rendered to a common canvas. This offers
- * a significant speed improvment in charts with a very high
- * amount of series.
- *
- * @type {number|null}
- * @default null
- * @apioption boost.seriesThreshold
- */
- /**
- * Enable or disable boost on a chart.
- *
- * @type {boolean}
- * @default true
- * @apioption boost.enabled
- */
- /**
- * Debugging options for boost.
- * Useful for benchmarking, and general timing.
- *
- * @apioption boost.debug
- */
- /**
- * Time the series rendering.
- *
- * This outputs the time spent on actual rendering in the console when
- * set to true.
- *
- * @type {boolean}
- * @default false
- * @apioption boost.debug.timeRendering
- */
- /**
- * Time the series processing.
- *
- * This outputs the time spent on transforming the series data to
- * vertex buffers when set to true.
- *
- * @type {boolean}
- * @default false
- * @apioption boost.debug.timeSeriesProcessing
- */
- /**
- * Time the the WebGL setup.
- *
- * This outputs the time spent on setting up the WebGL context,
- * creating shaders, and textures.
- *
- * @type {boolean}
- * @default false
- * @apioption boost.debug.timeSetup
- */
- /**
- * Time the building of the k-d tree.
- *
- * This outputs the time spent building the k-d tree used for
- * markers etc.
- *
- * Note that the k-d tree is built async, and runs post-rendering.
- * Following, it does not affect the performance of the rendering itself.
- *
- * @type {boolean}
- * @default false
- * @apioption boost.debug.timeKDTree
- */
- /**
- * Show the number of points skipped through culling.
- *
- * When set to true, the number of points skipped in series processing
- * is outputted. Points are skipped if they are closer than 1 pixel from
- * each other.
- *
- * @type {boolean}
- * @default false
- * @apioption boost.debug.showSkipSummary
- */
- /**
- * Time the WebGL to SVG buffer copy
- *
- * After rendering, the result is copied to an image which is injected
- * into the SVG.
- *
- * If this property is set to true, the time it takes for the buffer copy
- * to complete is outputted.
- *
- * @type {boolean}
- * @default false
- * @apioption boost.debug.timeBufferCopy
- */
- /**
- * Enable or disable GPU translations. GPU translations are faster than doing
- * the translation in JavaScript.
- *
- * This option may cause rendering issues with certain datasets.
- * Namely, if your dataset has large numbers with small increments (such as
- * timestamps), it won't work correctly. This is due to floating point
- * precission.
- *
- * @type {boolean}
- * @default false
- * @apioption boost.useGPUTranslations
- */
- /**
- * Enable or disable pre-allocation of vertex buffers.
- *
- * Enabling this will make it so that the binary data arrays required for
- * storing the series data will be allocated prior to transforming the data
- * to a WebGL-compatible format.
- *
- * This saves a copy operation on the order of O(n) and so is significantly more
- * performant. However, this is currently an experimental option, and may cause
- * visual artifacts with some datasets.
- *
- * As such, care should be taken when using this setting to make sure that
- * it doesn't cause any rendering glitches with the given use-case.
- *
- * @type {boolean}
- * @default false
- * @apioption boost.usePreallocated
- */
- /**
- * Set the point threshold for when a series should enter boost mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when there
- * are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting it
- * to 1 will force boosting.
- *
- * Note that the [cropThreshold](plotOptions.series.cropThreshold) also affects
- * this setting. When zooming in on a series that has fewer points than the
- * `cropThreshold`, all points are rendered although outside the visible plot
- * area, and the `boostThreshold` won't take effect.
- *
- * @type {number}
- * @default 5000
- * @requires modules/boost
- * @apioption plotOptions.series.boostThreshold
- */
- /**
- * If set to true, the whole chart will be boosted if one of the series
- * crosses its threshold, and all the series can be boosted.
- *
- * @type {boolean}
- * @default true
- * @apioption boost.allowForce
- */
- /**
- * Sets the color blending in the boost module.
- *
- * @type {string}
- * @default undefined
- * @validvalue ["add", "multiply", "darken"]
- * @requires modules/boost
- * @apioption plotOptions.series.boostBlending
- */
- ''; // adds doclets above to transpiled file
|