VoiDPlugins/ExperimentalASFilter
2020-07-25 08:13:15 +08:00
..
ExperimentalASFilter.cs Update default values of ExpASFilter 2020-07-24 09:52:52 +08:00
ExperimentalASFilter.csproj Add ExpASFilter 2020-07-23 06:27:17 +08:00
README.md Add README.md to ExpASFilter 2020-07-25 08:13:15 +08:00

ExpASFilter

This filter uses machine learning techniques to process cursor points of up to N samples and M degree of complexity. It can be configured to be used as a latency compensation filter, or a low-latency jitter-reduction filter.

Installation

Donwnload the plugins from latest releases.

Configuration Help

These are the different configuration knobs for the filter.

Compensation

Amount of time in milliseconds to compute into the future. Reduces perceived latency upon proper configuration.

Over compensating may result in inaccurate and erratic cursor movement.
Gets overridden by Report Rate Synchronization

Samples

Determines how long of a history to keep to feed into the filter.

A sample is defined as an update in cursor position.

  • Low sample count means faster response to a cursor's velocity/acceleration (check Degree) but results to discontinuous cursor movement.
  • High sample count means better cursor continuity but at the cost of possibly increasing latency when applied in conjunction to incompatible configurations.

Sample must be Degree +1!
Good sample count for first degree is 5-8, second degree is 6-10

Degree

Determines the complexity of prediction to compute by the filter.

First degree complexity (detects and predicts future velocity)
Second degree complexity (detects and predicts future acceleration)

Higher degrees are not recommended to use.

Normalize

Determines whether to convert cursor position scale to a maximum of 1. May or may not have any effect on the filter.

Screen Width and Screen Height have to be configured if turning on normalization

Synchronize to Report Rate

Overrides then calculates Compensation using the report rate of the connected tablet.

Improves cursor continuity.
Requires Reports Ahead

Reports Ahead

Calculates Compensation with:

Report Rate * Reports Ahead

Effectively predicts a future cursor position when filter is configured properly.

Exponential Weighted Polynomial Regression

Exponentially prioritize more recent cursor point samples in efforts of reducing latency when filtering with high sample counts.

Recommended Settings (for 266hz tablets)

Settings Value
Compensation n/a
Samples 6
Degree 1
Synchronize Yes
Reports Ahead 8
Exponential Yes