diff options
| author | Albert <bassmann1911@gmail.com> | 2026-09-02 21:41:36 +0200 |
|---|---|---|
| committer | Albert <bassmann1911@gmail.com> | 2026-09-02 21:41:36 +0200 |
| commit | 064de2172ebdad0b9dfc946fed8e95f59efb9b33 (patch) | |
| tree | 97bcd3a30c02b17fc1a5938556df0ac59c5eb714 /MediaBrowser.Controller/MediaEncoding | |
| parent | b3766b00d4c5ae38589774b30f4f1e0579a9619f (diff) | |
Apply the resize sharpening kernel directly instead of via SKImageFilter
Since the SkiaSharp 3 update the MatrixConvolution image filter used in
SkiaEncoder.ResizeImage no longer has a fast CPU path: on the software
rasterizer it takes about 4.5 seconds per megapixel-sized image, which
turns every cold image request into a multi-second operation and makes
first-time loads of a library view take minutes.
Draw the resize without the paint filter and apply the identical 3x3
kernel (same weights, clamped edges, alpha included) directly on the
resized pixels instead. This drops a cold 1000x1500 -> 663x995 poster
render from ~4.6s to well under a second; the convolution pass itself
takes ~86ms. Output is visually unchanged.
Diffstat (limited to 'MediaBrowser.Controller/MediaEncoding')
0 files changed, 0 insertions, 0 deletions
