From 09534ab81f72ce766c8d13ea13216dd589d41a1c Mon Sep 17 00:00:00 2001 From: Neil Date: Fri, 19 Mar 2021 15:44:55 +1100 Subject: Add an explicit FlushDrawing method to Surface that should be called after completing a bitmap. Currently only has a real implementation on Direct2D. Avoiding implicit flushes inside Copy and FillRectangle produced a 23% speed improvement on files with about 1 indentation guide per line as the drawing pipeline was being flushed for each indentation guide. --- qt/ScintillaEditBase/PlatQt.cpp | 4 ++++ qt/ScintillaEditBase/PlatQt.h | 1 + 2 files changed, 5 insertions(+) (limited to 'qt/ScintillaEditBase') diff --git a/qt/ScintillaEditBase/PlatQt.cpp b/qt/ScintillaEditBase/PlatQt.cpp index ce6f0313b..6a26d47c4 100644 --- a/qt/ScintillaEditBase/PlatQt.cpp +++ b/qt/ScintillaEditBase/PlatQt.cpp @@ -612,6 +612,10 @@ void SurfaceImpl::SetBidiR2L(bool) { } +void SurfaceImpl::FlushDrawing() +{ +} + QPaintDevice *SurfaceImpl::GetPaintDevice() { return device; diff --git a/qt/ScintillaEditBase/PlatQt.h b/qt/ScintillaEditBase/PlatQt.h index 4069898ff..c690e7697 100644 --- a/qt/ScintillaEditBase/PlatQt.h +++ b/qt/ScintillaEditBase/PlatQt.h @@ -135,6 +135,7 @@ public: void SetClip(PRectangle rc) override; void PopClip() override; void FlushCachedState() override; + void FlushDrawing() override; void SetUnicodeMode(bool unicodeMode_) override; void SetDBCSMode(int codePage_) override; -- cgit v1.2.3