Open maforget opened 1 week ago
Build Successful! You can find a link to the downloadable artifact below.
Name | Link |
---|---|
Commit | 1e676bdfe6a8324f66f3561ae09a96c723f441c2 |
Logs | https://github.com/maforget/ComicRackCE/actions/runs/9534701062 |
Download | https://github.com/maforget/ComicRackCE/suites/24954685024/artifacts/1605865074 |
Some info how MagicScaler resizing relates to GDI Interpolation: https://photosauce.net/blog/post/image-scaling-with-gdi-part-4-examining-the-interpolationmode-values
Usually the usage of each interpolation in ComicRack are:
Here is the benchmark of ComicRack Resizer vs MagicScaler (when not specified Hybrid is Off, for better comparaison):
So for now I changed some setting based on the blog page (the default when not speficied on the previous settings was FavorQuality):
FastAndUgly => NearestNeighbor, FavorSpeed
FastBilinear => Linear, FavorSpeed
FastBicubic => CatmullRom, FavorSpeed
BilinearHQ => Quadratic, FavorQuality
GdiPlus => Linear, FavorQuality
GdiPlusHQ => Cubic, Off
Some info about HybridMode: https://docs.photosauce.net/api/PhotoSauce.MagicScaler.HybridScaleMode.html#fields
After testing, Legacy is still way faster. Even considering the benchmark values. I believe is the multiple conversion from byte[] => Bitmap => byte[] => Bitmap are to blame.
I've started trying to implement a Custom PixelSource instead to pass to MagicScaler, but the current implementation gives corrupted images.
Just a test that uses ImageScaler for resizing images. Is the performance better? No more annoying crash due to
AccessViolationException
?Are the Interpolation Setting correct?