[ExpASFilter] Update README.md

This commit is contained in:
X9VoiD 2020-07-27 16:49:18 +08:00 committed by GitHub
parent c3be704e32
commit c807ac5059
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1,6 +1,6 @@
# ExpASFilter # 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. A general purpose filter which 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 # Installation
@ -11,10 +11,13 @@ Donwnload the plugins from [latest releases.](https://github.com/X9VoiD/OTDPlugi
These are the different configuration knobs for the filter. These are the different configuration knobs for the filter.
## Compensation ## Offset
Amount of time in milliseconds to compute into the future. Reduces perceived latency upon proper configuration. Amount of time in milliseconds to offset the prediction for the next point.
* Zero Offset - Filter will apply sub-zero latency cursor correction.
* Positive Offset - Filter will try to predict future cursor position.
* Negative Offset - Filter will delay cursor position to smooth out movement.
> *Over compensating may result in inaccurate and erratic cursor movement.* > *Over compensating may result in inaccurate and erratic cursor movement.*
> **Gets overridden by [Report Rate Synchronization](https://github.com/X9VoiD/OTDPlugins/wiki/ExperimentalASFilter#synchronize-to-report-rate)**
## Samples ## Samples
@ -22,50 +25,26 @@ Determines how long of a history to keep to feed into the filter.
A sample is defined as an update in cursor position. A sample is defined as an update in cursor position.
* `Low sample count` means faster response to a cursor's velocity/acceleration (check [Degree](https://github.com/X9VoiD/OTDPlugins/wiki/ExperimentalASFilter#degree)) but results to discontinuous cursor movement. * `Sample count` is generally a trade-off between CPU usage and accuracy.
* `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!** > **Sample must be Degree +1!**
> *Good sample count for first degree is 5-8, second degree is 6-10*
## Complexity
## Degree
Determines the complexity of prediction to compute by the filter. Determines the complexity of prediction to compute by the filter.
First degree complexity (detects and predicts future velocity) > **Higher complexities might require normalization to work correctly.**
Second degree complexity (detects and predicts future acceleration)
> **Higher degrees are not recommended to use.**
## Normalize ## Normalize
Determines whether to convert cursor position scale to a maximum of 1. May or may not have any effect on the filter. Determines whether to convert cursor position scale to a maximum of 1. Helps when using high complexity
> **_Screen Width_ and _Screen Height_ have to be configured if turning on normalization** > **_Screen Width_ and _Screen Height_ have to be configured if turning on normalization**
## Synchronize to Report Rate
Overrides then calculates [Compensation](https://github.com/X9VoiD/OTDPlugins/wiki/ExperimentalASFilter#compensation) using the report rate of the connected tablet.
> _Improves cursor continuity._
> **Requires Reports Ahead**
## Reports Ahead
Calculates [Compensation](https://github.com/X9VoiD/OTDPlugins/wiki/ExperimentalASFilter#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) # Recommended Settings (for 266hz tablets)
| Settings | Value | | Settings | Value |
| :--- | :--- | | :--- | :--- |
| Compensation | n/a | | Compensation | 0 |
| Samples | 6 | | Samples | 20 |
| Degree | 1 | | Complexity | 2 |
| Synchronize | Yes | | Normalization | Yes |
| Reports Ahead | 8 |
| Exponential | Yes |