有很多重绘问题。下面的解决方案解决了 Windows 7 主机、Linux 客户机和 Ubuntu(或 Compiz)的一个非常具体的重绘问题。
解决方案 1
使用最新的 Virtual Box 5.0.4 和 Guest Additions 进行测试,Ubuntu 14.04.3,启用 3D 加速,标准安装和完整更新。
一个)sudo apt-get install compizconfig-settings-manager
b) 从破折号运行它(输入“ccsm”)。选择左侧的“实用程序”。选择“解决方法”(不是复选框,单击按钮进入子类别)。“在初始损坏时强制完全重绘”应该默认开启(不确定是否相关,以防万一)。现在启用在重绘时强制全屏重绘(缓冲区交换),默认情况下未选中。效果立竿见影,如果打开 gvim 窗口,只需在选项卡之间快速单击,或跳转文件的顶部/底部以查看差异。
解决方案 2(适用于 13.04、13.10 或更低版本)
如果使用 13.04 或更低版本(也可能是 13.10),首先尝试切换到 Virtual Box 5.0.4+(5.0.4 已测试)及其Guest Additions,安装 CCSM 并测试上述解决方法(我可以确认这有效在我的旧 13.04 虚拟机上)。
如果这不起作用或使用最新的 Virtual Box / Guest Additions 不是一个选项,那么尝试将 Guest Additions 降级到版本 4.2.12(不仅仅是 4.2.x,相信我,我已经尝试了很多版本)注意4.2由于 X Server 版本较新,.12 无法在 Ubuntu 14.04.3+ 中运行。
下面的旧帖子(一些背景)
我经历的测试:
- Unity 2D:没有错误,但很丑(没有阴影等)
- 薄荷 15 + 肉桂:有错误
- Mint 16 MATE:没有错误,但有一些滚动条问题
- Mint 14.1:没有错误,因为客人添加了 4.1.18 预装.. 但慢!
- ...升级来宾添加到 4.3.6:gvim 错误再次出现!<--宾果游戏
最后,经过数小时重启虚拟机......
- 4.2.12:没有 gvim 重绘错误,对我来说完美(Ubuntu 13.04,Mint 15 Cinnamon),对于 VM 来说相对流畅(带有半透明终端和所有 3D 扭结)
- 4.2.18 : 没有 gvim 重绘错误,但由于某种原因慢
- 4.2.20:错误!
- 4.3.6:错误!
更远
根据 Bram Moolenaar的说法, “补丁 7.3.638 只是删除了一个不必要的重绘,这可能发现了一个现有的问题”(使用 GTK 库)。
不过值得一提的是,我在 Ubuntu 13.04 VM 上使用了一年的 Google Chrome、Firefox、Open Office、MySQL Workbench 等,并且从未遇到任何其他重绘问题。因此,即使它是一个 GTK 错误,它也是一个似乎与 VIM 如何刷新窗口内容密切相关的问题。
https://github.com/vim/vim/issues/91
可能是 GTK 问题,但如果它只发生在 Windows 7 主机上......那么它似乎是 GTK 重绘/重绘事件和 Compiz 的 Open GL 层之间的“同步”问题(我的猜测)。
如何重现/测试错误
在多个选项卡中打开长文本文件(保存/加载会话可以节省时间)。
然后使用 Ctrl-PgUp / PgDn 在选项卡之间快速切换,或者使用 Ctrl-Home、Ctrl-End 快速从文件的顶部移动到底部。在几秒钟内,您将只看到部分窗口刷新。