When in GL mode - if you re-size the whole window, there is some quite horrible re-render flickering caused by erroneous glFlush-ing forcing render / display of partially completed contents. Adding a simple Begin/End paint pair around the rendering and re-sizing fixes that though - this simply defers the glFlush until we're done => flicker free frames.
Michael Meeks committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=4a55670e2453cdb9895f51bbd4051f7004d768c5 tdf#94213 - defer glFlushing until we've re-rendered after a re-size. It will be available in 5.1.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
(I even saw this with OpenGL not enabled.. Resizing an presentation. Didn't do any additional tests though)
This is a pretty grim issue, but showing up some other rather useful drop-offs. It appears that patch #1 fixes the re-sizing for the first window rather nicely. https://gerrit.libreoffice.org/18601 tdf#94213 - release offscreen texture properly on re-size. Then fixes the unit test breakage from patch #1 - make check passes again. Unfortunately (and amazingly) the 2nd window behaves differently to the 1st window - (the first window includes a shell that has been converted into a document type). After some hours of head scratching & debugging it seems this is almost certainly related to virtual-device re-use when a VirtualDevice's OpenGLContext is associated with a window that is not the window we want to render to - then ... we get issues, and undesirable context switches - which in turn appear to cause flicker. It is assumed that a GL context switch implies a glFlush (which we're trying to avoid at all costs to avoid flicker - at least until the double buffering is perfect & enabled). So: https://gerrit.libreoffice.org/18602 tdf#94213 - calc re-size flicker turns out to be the status bar. Fixes calc for re-sizing - by turning off some un-necessary virtual-dev bits in the status bar, and also forcing an invalidate on device re-size; that appears to affect only the widget in the top-left corner that doesn't move or re-size when the window shrinks vertically ...
Michael Meeks committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=a60db559d409514fb93af0167c543ad2f852b499 tdf#94213 - calc re-size flicker turns out to be the status bar. It will be available in 5.1.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Michael Meeks committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=6f0f4ee720ef1e8262731f59f254b83d5bdd058c tdf#94213 - release offscreen texture properly on re-size. It will be available in 5.1.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
> (I even saw this with OpenGL not enabled. Resizing an presentation. > Didn't do any additional tests though) There is a similar, but far less irritating flicker in 4.4 - though 4.4 doesn't clear the background to black before rendering, so much less noticable I think =) OpenGL default to on on Windows with suitable modern hardware in 5.0.2 (FWIW).
Michael Meeks committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=4af40495b7dcdac3add67c634dde75c896e370d9 tdf#94213 - cleanup associated GL contexts properly when DCs released. It will be available in 5.1.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Mostly fixed by now - though there are a number of patches needed; ideally we can render the windows without a context switch now - although sometimes when sizing something lumpy happens to the toolbar (some expander widget or somesuch) which gives an occasional stall. Nevertheless, it looks rather better than 4.4 at its worst.
Michael Meeks committed a patch related to this issue. It has been pushed to "libreoffice-5-0": http://cgit.freedesktop.org/libreoffice/core/commit/?id=b62f83c88b725d936b09cdd28a5ab625ac7c6d3e&h=libreoffice-5-0 tdf#94213 - defer glFlushing until we've re-rendered after a re-size. It will be available in 5.0.3. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Michael Meeks committed a patch related to this issue. It has been pushed to "libreoffice-5-0": http://cgit.freedesktop.org/libreoffice/core/commit/?id=f7554e3e6ff17c850f444bd58767e68e8741387a&h=libreoffice-5-0 tdf#94213 - calc re-size flicker turns out to be the status bar. It will be available in 5.0.3. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Michael Meeks committed a patch related to this issue. It has been pushed to "libreoffice-5-0-2": http://cgit.freedesktop.org/libreoffice/core/commit/?id=d6698cca4e22341a81573d9926ade127230e12a6&h=libreoffice-5-0-2 tdf#94213 - defer glFlushing until we've re-rendered after a re-size. It will be available in 5.0.2. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Michael Meeks committed a patch related to this issue. It has been pushed to "libreoffice-5-0-2": http://cgit.freedesktop.org/libreoffice/core/commit/?id=41c56c26285307eb451819d49c47d7623c4555e2&h=libreoffice-5-0-2 tdf#94213 - calc re-size flicker turns out to be the status bar. It will be available in 5.0.2. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.