Skip to content

Commit 92467d3

Browse files
committed
patch 8.0.1369: MS-Windows: drawing underline slow, mFallbackDC not updated
Problem: MS-Windows: drawing underline, curl and strike-throw is slow, mFallbackDC not properly updated. Solution: Several performance improvements. (Ken Takata, Taro Muraoka, Yasuhiro Matsumoto, closes #2401)
1 parent ce6179c commit 92467d3

5 files changed

Lines changed: 392 additions & 131 deletions

File tree

runtime/doc/options.txt

Lines changed: 26 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6122,17 +6122,18 @@ A jump table for the options with a short description can be found at |Q_op|.
61226122
geom pixelGeometry int 0 - 2 (see below)
61236123
renmode renderingMode int 0 - 6 (see below)
61246124
taamode textAntialiasMode int 0 - 3 (see below)
6125+
scrlines Scroll Lines int >= 0 (see below)
61256126

6126-
See this URL for detail:
6127-
http://msdn.microsoft.com/en-us/library/dd368190.aspx
6127+
See this URL for detail (except for scrlines):
6128+
https://msdn.microsoft.com/en-us/library/dd368190.aspx
61286129

61296130
For geom: structure of a device pixel.
61306131
0 - DWRITE_PIXEL_GEOMETRY_FLAT
61316132
1 - DWRITE_PIXEL_GEOMETRY_RGB
61326133
2 - DWRITE_PIXEL_GEOMETRY_BGR
61336134

61346135
See this URL for detail:
6135-
http://msdn.microsoft.com/en-us/library/dd368114.aspx
6136+
https://msdn.microsoft.com/en-us/library/dd368114.aspx
61366137

61376138
For renmode: method of rendering glyphs.
61386139
0 - DWRITE_RENDERING_MODE_DEFAULT
@@ -6144,7 +6145,7 @@ A jump table for the options with a short description can be found at |Q_op|.
61446145
6 - DWRITE_RENDERING_MODE_OUTLINE
61456146

61466147
See this URL for detail:
6147-
http://msdn.microsoft.com/en-us/library/dd368118.aspx
6148+
https://msdn.microsoft.com/en-us/library/dd368118.aspx
61486149

61496150
For taamode: antialiasing mode used for drawing text.
61506151
0 - D2D1_TEXT_ANTIALIAS_MODE_DEFAULT
@@ -6153,7 +6154,25 @@ A jump table for the options with a short description can be found at |Q_op|.
61536154
3 - D2D1_TEXT_ANTIALIAS_MODE_ALIASED
61546155

61556156
See this URL for detail:
6156-
http://msdn.microsoft.com/en-us/library/dd368170.aspx
6157+
https://msdn.microsoft.com/en-us/library/dd368170.aspx
6158+
6159+
For scrlines: threshold for lines to be scrolled.
6160+
0 - Always use scrolling. (default)
6161+
1 - Use full page redrawing.
6162+
> 1 - If the lines to be scrolled is grater or equal to the
6163+
specified value, use redrawing. Otherwise use
6164+
scrolling.
6165+
6166+
If you feel scrolling a page (CTRL-F) is too slow with DirectX
6167+
renderer, try this "scrlines" option.
6168+
When set it "1", Vim uses full page redrawing instead of
6169+
scrolling. Redrawing a page is faster than scrolling a
6170+
page in some environments.
6171+
After that, when you feel scrolling lines (CTRL-Y) becomes
6172+
slow, please try "2" or greater value for this option.
6173+
It works threshold line number to switch scrolling to
6174+
redrawing. Scrolling a few lines might be faster than
6175+
redrawing a page in some environments.
61576176

61586177
Example: >
61596178
set encoding=utf-8
@@ -6162,13 +6181,12 @@ A jump table for the options with a short description can be found at |Q_op|.
61626181
<
61636182
If select a raster font (Courier, Terminal or FixedSys which
61646183
have ".fon" extension in file name) to 'guifont', it will be
6165-
drawn by GDI as a fallback. This fallback will cause
6166-
significant slow down on drawing.
6184+
drawn by GDI as a fallback.
61676185

61686186
NOTE: It is known that some fonts and options combination
61696187
causes trouble on drawing glyphs.
61706188

6171-
- 'rendmode:5' and 'renmode:6' will not work with some
6189+
- 'renmode:5' and 'renmode:6' will not work with some
61726190
special made fonts (True-Type fonts which includes only
61736191
bitmap glyphs).
61746192
- 'taamode:3' will not work with some vector fonts.

0 commit comments

Comments
 (0)