0
0
mirror of https://github.com/vim/vim.git synced 2025-09-25 03:54:15 -04:00

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)
This commit is contained in:
Bram Moolenaar
2018-01-31 20:51:47 +01:00
parent 37badc898b
commit a338adcf22
19 changed files with 224 additions and 173 deletions

View File

@@ -245,7 +245,7 @@ ui_wait_for_chars_or_timer(
if (interrupted != NULL && *interrupted)
/* Nothing available, but need to return so that side effects get
* handled, such as handling a message on a channel. */
return FALSE;
return FAIL;
if (wtime > 0)
remaining -= due_time;
}
@@ -578,11 +578,7 @@ clip_lose_selection(VimClipboard *cbd)
update_curbuf(INVERTED_ALL);
setcursor();
cursor_on();
out_flush();
# ifdef FEAT_GUI
if (gui.in_use)
gui_update_cursor(TRUE, FALSE);
# endif
out_flush_cursor(TRUE, FALSE);
}
}
#endif
@@ -3331,13 +3327,10 @@ ui_focus_change(
setcursor();
}
cursor_on(); /* redrawing may have switched it off */
out_flush();
out_flush_cursor(FALSE, TRUE);
# ifdef FEAT_GUI
if (gui.in_use)
{
gui_update_cursor(FALSE, TRUE);
gui_update_scrollbars(FALSE);
}
# endif
}
#ifdef FEAT_TITLE