Bug 472351 - Subliminal white screen interleaved at picture transition
Summary: Subliminal white screen interleaved at picture transition
Status: RESOLVED FIXED
Alias: None
Product: gwenview
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: unspecified Linux
: NOR normal
Target Milestone: ---
Assignee: Gwenview Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-07-18 11:48 UTC by Matthieu Carteron
Modified: 2023-08-05 02:16 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In: 23.08
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Matthieu Carteron 2023-07-18 11:48:09 UTC
SUMMARY
When using **Gwenview**, the transition between pictures is not clean, and shows an interleaved "white page" which acts as a loading... this behaviour hinders the comparison between two pictures.

STEPS TO REPRODUCE
1. Open any photo with **Gwenview**, that is part of an album or a collection.
2. In the configuration options, turn off the fade animation (it's much easier seen when disabled).
3. Transition from one photo to another (by pressing the arrow keys, clicking on the next thumbnails, etc, you get it...)

OBSERVED RESULT
An interleaved white screen (with a loading icon in the center) appears for a fraction of second between the hiding of the current image and the showing of the next image.

Note: Since it's a loading screen, the duration of the said screen obviously depends on the speed at which the next image is loaded; on most offline stored images, it's very fast, but noticeable nonetheless.

EXPECTED RESULT
An immediate cut transition from the picture to the next with no loading screen, at least when the loading is so short.

SOFTWARE VERSIONS
Gwenview Version: 23.04.3
KDE Plasma Version: 5.27.5
KDE Frameworks Version: 5.108.0
Qt Version: 5.15.8
Comment 1 Bug Janitor Service 2023-07-27 19:59:35 UTC
A possibly relevant merge request was started @ https://invent.kde.org/graphics/gwenview/-/merge_requests/213
Comment 2 Felix Ernst 2023-08-02 09:09:03 UTC
Git commit 35a5a93867f9f4a5d4bed896df1cb4180cfdac87 by Felix Ernst, on behalf of Felix Ernst.
Committed on 02/08/2023 at 10:56.
Pushed by felixernst into branch 'master'.

Make image switching seamless when animations are disabled

Previously, switching images meant that between hiding of the first
image and showing of the next image there would be a blank screen
when animations are disabled. This brief flickering isn't aesthetic
and makes direct comparisons of similar images more difficult.

This commit makes the switching of images seamless when animations
are disabled. It does so by disabling the updating/repainting of
the view container until the loading of the new image has
completed().

If loading takes long enough that we would want to show a loading
indicator the seamless experience is given up on and we do show a
loading indicator instead.

M  +1    -0    lib/documentview/documentview.cpp
M  +6    -0    lib/documentview/documentview.h
M  +11   -0    lib/documentview/documentviewcontainer.cpp

https://invent.kde.org/graphics/gwenview/-/commit/35a5a93867f9f4a5d4bed896df1cb4180cfdac87
Comment 3 Felix Ernst 2023-08-02 09:28:05 UTC
Git commit 2bf8ebf74ccb3e29f530ce41b634fff43840380d by Felix Ernst, on behalf of Felix Ernst.
Committed on 02/08/2023 at 11:28.
Pushed by felixernst into branch 'release/23.08'.

Make image switching seamless when animations are disabled

Previously, switching images meant that between hiding of the first
image and showing of the next image there would be a blank screen
when animations are disabled. This brief flickering isn't aesthetic
and makes direct comparisons of similar images more difficult.

This commit makes the switching of images seamless when animations
are disabled. It does so by disabling the updating/repainting of
the view container until the loading of the new image has
completed().

If loading takes long enough that we would want to show a loading
indicator the seamless experience is given up on and we do show a
loading indicator instead.


(cherry picked from commit 35a5a93867f9f4a5d4bed896df1cb4180cfdac87)

M  +1    -0    lib/documentview/documentview.cpp
M  +6    -0    lib/documentview/documentview.h
M  +11   -0    lib/documentview/documentviewcontainer.cpp

https://invent.kde.org/graphics/gwenview/-/commit/2bf8ebf74ccb3e29f530ce41b634fff43840380d