Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use Coil pipeline instead of SSIV for image decode #692

Merged
merged 1 commit into from
May 1, 2024

Conversation

FooIbar
Copy link
Contributor

@FooIbar FooIbar commented Apr 19, 2024

Follow-up of #691

This PR switchs to Coil pipeline for image decode in webtoon mode, images are now always loaded as a whole instead of tiles.
This significantly improves performance with extremely long (> 16k) images from testing.

Here is a benchmark build if anyone wants to test.
https://github.com/FooIbar/mihon/actions/runs/8765855174

@FooIbar FooIbar marked this pull request as ready for review April 20, 2024 05:53
@FooIbar
Copy link
Contributor Author

FooIbar commented Apr 20, 2024

Note the maximum width to not scale is set to MAX_ZOOM_SCALE * screen width, this might need to be adjusted.

@wwww-wwww
Copy link
Contributor

wwww-wwww commented Apr 20, 2024

This is missing the subsampling which is to prevent heavy moire on screentones and halftones. Is there something that can be done to the imageview that can have it scale in linear light or do custom scaling?

@FooIbar
Copy link
Contributor Author

FooIbar commented Apr 20, 2024

This is missing the subsampling which is to prevent heavy moire on screentones and halftones. Is there something that can be done to the imageview that can have it scale in linear light or do custom scaling?

Yeah that's a problem.
And it becomes worse with crop borders enabled, which wasn't handled well previously.

@FooIbar FooIbar marked this pull request as draft April 20, 2024 07:05
@FooIbar
Copy link
Contributor Author

FooIbar commented Apr 20, 2024

This is missing the subsampling which is to prevent heavy moire on screentones and halftones. Is there something that can be done to the imageview that can have it scale in linear light or do custom scaling?

Now the requested width is set to the width of the view, that's roughly what SSIV did with minimum tile dpi at 180 in webtoon mode.
The moire issue still exists, but at least it's not a regression.

@FooIbar FooIbar marked this pull request as ready for review April 20, 2024 16:45
@wwww-wwww
Copy link
Contributor

I will daily drive this and report back in a week

@wwww-wwww
Copy link
Contributor

works for me

@AntsyLich AntsyLich merged commit c3e7bb1 into mihonapp:main May 1, 2024
1 check passed
@FooIbar FooIbar deleted the coil branch May 1, 2024 07:15
@github-actions github-actions bot locked as resolved and limited conversation to collaborators May 4, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants