Use embedded thumbnail for instant image preview
Closed, ResolvedPublic

Description

This is a RFC. I'd like to improve Gwenviews performance and responsiveness a bit when opening images. Therefore, I'd like to decode and display the embedded Exif thumbnail before the full image is decoded and displayed (which is potentially expensive). Once done, the full-res image would be displayed as usual. Here's an animated GIF that demonstrates what I mean:

IMO, this would also help to address bugs like 331413, 139735, 406431.

To do this, one would need to refactor the way Gwenview handles Exif content. Currently, this is all done in the JpegContent class. However, Exif is available to many more formats these days. I've already started with that refactoring long ago: https://phabricator.kde.org/D24521

The feedback received there was, frankly, not really motivating to carry on with these changes. So, here's another try. Would a change like this be accepted?

tommo created this task.Aug 23 2020, 12:03 PM

In KDE, we have a saying: "those who do, decide."

At the moment, Gwenview is maintainerless and is only semi-actively maintained by the community. Thankfully it is quite stable and featureful already so it does not suffer much from this neglect, but it is a problem. As a result, there is no specific person who can give you a yes or a no answer.

However you have made some great contributions to Gwenview in the past. In the spirit of "those who do, decide", I say go for it! I'm sorry that https://phabricator.kde.org/D24521 got mostly ignored. Id you re-submit it it as a GitLab merge request (we have since migrated to GitLab), I can try to get some more eyes on it.

twitt added a subscriber: twitt.Aug 24 2020, 8:49 PM

Hello tommo,
thanks for your work! I went through the change set and I didn't found a lot of things to improve. I never worked with exif, so I cannot say if it's good, but I could test it once it's on gitlab (I might also check if I get the same errors on unit tests). Besides, I'd suggest to split the change into two different patchsets, one for replacing JpegContent and another one for displaying the exif thumbnail.

Anyway, I understand your frustration about the lack of feedback. After submitting a first small patch, I also did not find yet any motivation to commit a change that allows rotation when cropping. But maybe I should also give it a try on GitLab:)

Best,
Tobias

tommo added a comment.Aug 25 2020, 2:49 PM

Ok guys, thanks for the feedback! I'll get my hands on again.

Gitlab is actually one of the reasons I'm getting back to this. I'll incorporate kexiv2 into D24521. And a second changeset will include the display of exif thumbnail. This will probably take some time.

Pls, feel free to close D24521 and this task.

ngraham closed this task as Resolved.Aug 26 2020, 7:58 PM
ngraham claimed this task.

Cool, I'll close this now, and you can close D24521 once it's been migrated to Gitlab! :)