[Libreoffice-commits] core.git: vcl/opengl
Michael Meeks
michael.meeks at collabora.com
Tue Jan 12 14:02:25 PST 2016
vcl/opengl/gdiimpl.cxx | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
New commits:
commit 8d6c1b6981f01bbc0057234f53fd139e87a5f010
Author: Michael Meeks <michael.meeks at collabora.com>
Date: Tue Jan 12 21:02:01 2016 +0000
tdf#96385 - opengl: dynamically adjust priority of swap buffers.
Initially we start with a very low priority, so that the lame
bits of code that do eg. focus, and cursor rendering before the
document is visible do not cause a swap, flash. Then after we've
processed a REPAINT priority idle (hopefully our first paint) we
adjust the swap priority to highest.
Essentially a fusion of Tor's approach and mine.
Change-Id: Ib9b78a18fb9359ac8c3dee1cfeb30177c08fe162
Reviewed-on: https://gerrit.libreoffice.org/21405
Reviewed-by: Tor Lillqvist <tml at collabora.com>
Tested-by: Tor Lillqvist <tml at collabora.com>
diff --git a/vcl/opengl/gdiimpl.cxx b/vcl/opengl/gdiimpl.cxx
index d01d66b..73804c7 100644
--- a/vcl/opengl/gdiimpl.cxx
+++ b/vcl/opengl/gdiimpl.cxx
@@ -47,7 +47,8 @@ public:
: Idle( "gl idle swap" )
, m_pImpl( pImpl )
{
- SetPriority( SchedulerPriority::HIGHEST );
+ // We don't want to be swapping before we've painted.
+ SetPriority( SchedulerPriority::POST_PAINT );
}
virtual ~OpenGLFlushIdle()
{
@@ -55,6 +56,7 @@ public:
virtual void Invoke() override
{
m_pImpl->doFlush();
+ SetPriority( SchedulerPriority::HIGHEST );
Stop();
}
};
More information about the Libreoffice-commits
mailing list