patch 8.0.1449: slow redrawing with DirectX
Problem: Slow redrawing with DirectX.
Solution: Avoid calling gui_mch_flush() unnecessarily, especially when
updating the cursor. (Ken Takata, closes #2560)
diff --git a/src/getchar.c b/src/getchar.c
index 18dc1a6..70cf4f1 100644
--- a/src/getchar.c
+++ b/src/getchar.c
@@ -2972,16 +2972,10 @@
if (wait_time == -1L || wait_time > 100L) /* flush output before waiting */
{
cursor_on();
- out_flush();
-#ifdef FEAT_GUI
- if (gui.in_use)
- {
- gui_update_cursor(FALSE, FALSE);
-# ifdef FEAT_MOUSESHAPE
- if (postponed_mouseshape)
- update_mouseshape(-1);
-# endif
- }
+ out_flush_cursor(FALSE, FALSE);
+#if defined(FEAT_GUI) && defined(FEAT_MOUSESHAPE)
+ if (gui.in_use && postponed_mouseshape)
+ update_mouseshape(-1);
#endif
}