0
0
mirror of https://github.com/vim/vim.git synced 2025-09-23 03:43:49 -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

@@ -3451,7 +3451,7 @@ ins_compl_clear(void)
compl_orig_text = NULL;
compl_enter_selects = FALSE;
/* clear v:completed_item */
set_vim_var_dict(VV_COMPLETED_ITEM, dict_alloc());
set_vim_var_dict(VV_COMPLETED_ITEM, dict_alloc_lock(VAR_FIXED));
}
/*
@@ -3553,8 +3553,7 @@ ins_compl_new_leader(void)
{
/* Show the cursor after the match, not after the redrawn text. */
setcursor();
out_flush();
gui_update_cursor(FALSE, FALSE);
out_flush_cursor(FALSE, FALSE);
}
#endif
compl_restarting = TRUE;
@@ -4704,7 +4703,7 @@ ins_compl_delete(void)
* flicker, thus we can't do that. */
changed_cline_bef_curs();
/* clear v:completed_item */
set_vim_var_dict(VV_COMPLETED_ITEM, dict_alloc());
set_vim_var_dict(VV_COMPLETED_ITEM, dict_alloc_lock(VAR_FIXED));
}
/*
@@ -4724,7 +4723,7 @@ ins_compl_insert(int in_compl_func)
/* Set completed item. */
/* { word, abbr, menu, kind, info } */
dict = dict_alloc();
dict = dict_alloc_lock(VAR_FIXED);
if (dict != NULL)
{
dict_add_nr_str(dict, "word", 0L,
@@ -4936,8 +4935,7 @@ ins_compl_next(
{
/* Show the cursor after the match, not after the redrawn text. */
setcursor();
out_flush();
gui_update_cursor(FALSE, FALSE);
out_flush_cursor(FALSE, FALSE);
}
#endif