1
1
mirror of https://github.com/wez/wezterm.git synced 2024-12-26 23:04:49 +03:00
Commit Graph

7112 Commits

Author SHA1 Message Date
Wez Furlong
c9eba103d1 Use vecdeque for screen lines
This brings us back in the right perf ballpark
2018-02-19 13:08:47 -08:00
Wez Furlong
58f423eebe fix bounds for scrolling
unfortunately this is super expensive and halves the cat test perf.
2018-02-19 11:26:19 -08:00
Wez Furlong
b0fa3c329f bold me 2018-02-19 11:00:49 -08:00
Wez Furlong
1e64344092 forgot to include the cat portion of the bench in the readme 2018-02-19 10:59:09 -08:00
Wez Furlong
02846f4c82 use Cell::reset to clear portions of a line 2018-02-19 10:51:34 -08:00
Wez Furlong
a0b4630998 micro opt cursor moving during print 2018-02-19 10:47:49 -08:00
Wez Furlong
6e5986e868 tweak table formatting 2018-02-19 10:34:05 -08:00
Wez Furlong
aa95eaefd9 micro-opt scroll_up some more 2018-02-19 10:27:28 -08:00
Wez Furlong
48997f02d1 micro optimize cell creation 2018-02-19 09:08:17 -08:00
Wez Furlong
55175f70b6 Add a little note about performance 2018-02-19 08:41:54 -08:00
Wez Furlong
1b989b011d improve scroll_up perf
We were marking the entire scrollback history as dirty on each line
scroll.  This was from the early days and isn't needed any more.
This brings the runtime of:

```
$ find /usr > /tmp/usr-files.txt
$ time cat /tmp/usr-files.txt
```

down from ~2.5s to ~1.2s.

Also avoid a redundant line_mut() call in set_cell().
2018-02-19 08:14:03 -08:00
Wez Furlong
966eb2ce4c Don't loop to read from pty
We don't need to be greedy in handling this read.  It is important
not to for example when a lot of data is being written to the pty
we don't want that to starve the gui event handler and block sending
an interrupt signal.
2018-02-19 07:56:33 -08:00
Wez Furlong
563408df6f micro optimization for scroll_up 2018-02-19 07:55:49 -08:00
Wez Furlong
a0faebad8b Clear some rendering artifacts from the rhs of the screen
These would get left behind after making the window wider
and then switching between alt screen and the main screen.
2018-02-19 00:15:11 -08:00
Wez Furlong
52f6e3c0bd tweak the underline position 2018-02-18 23:53:54 -08:00
Wez Furlong
bc2c77aa1c fixup alpha for tinted colors
Needed to de-pre-multiply(!) the color channels by the alpha to avoid
them getting too dark.
2018-02-18 23:48:21 -08:00
Wez Furlong
9bc0eee1e2 Re-enable underlining of whitespace
This was a hangover from an earlier iteration and isn't needed any more.
2018-02-18 23:08:49 -08:00
Wez Furlong
450ed0e82c don't explode when scrolling back 2018-02-18 23:04:11 -08:00
Wez Furlong
e87f129ded We now do a better job at rendering dejavusansmono
The descender in that font seems bad, so guestimate something that works
better for us.
2018-02-18 21:59:28 -08:00
Wez Furlong
8afbcc8ee0 clear adjust for whitespace glyphs 2018-02-18 20:37:13 -08:00
Wez Furlong
4818cdb838 improve font rendering by reducing hinting level
and using a more robust color multiplication function.
2018-02-18 20:30:53 -08:00
Wez Furlong
69278e8fde whoops, fixup width calc for single width glyphs 2018-02-18 17:53:39 -08:00
Wez Furlong
fb83410520 Add brief note about the OpenGL ES 2 requirement 2018-02-18 17:23:05 -08:00
Wez Furlong
fa0549b76e add some more comments
and back out the get_all flag that was added as a temp workaround
in the earlier stages of adding opengl support.
2018-02-18 17:21:02 -08:00
Wez Furlong
3ccb0c24ef Add third pass draw for underline/strikethrough rendering 2018-02-18 17:12:53 -08:00
Wez Furlong
f51b99cb73 remove some more dead bits and plumb underline/strike into shader 2018-02-18 14:52:10 -08:00
Wez Furlong
a1e5a17e94 remove some dead code 2018-02-18 14:48:24 -08:00
Wez Furlong
6f6622c659 pass has_color flag through to fragment shader 2018-02-18 14:22:43 -08:00
Wez Furlong
8d6950f586 Do a better job at rendering double wide glyphs
Color emoji look a bit jagged so we may have a rounding problem
for those.  Will revisit them later.
2018-02-18 14:17:31 -08:00
Wez Furlong
a4c45fa321 use a single big vertex buffer 2018-02-18 11:31:00 -08:00
Wez Furlong
4acfd82e87 Default::default for Vertex & Point 2018-02-17 22:17:17 -08:00
Wez Furlong
6e3eb9747a use texture atlas 2018-02-17 21:34:01 -08:00
Wez Furlong
1607ba4443 Add untested code for managing a texture atlas 2018-02-17 20:37:07 -08:00
Wez Furlong
de700e0207 make it very slightly cheaper to enumerate the screen lines 2018-02-17 15:04:48 -08:00
Wez Furlong
f8b596bd7c remove more now-dead code 2018-02-17 14:02:02 -08:00
Wez Furlong
878bc4e082 update underline/strike rendering to opengl 2018-02-17 13:50:55 -08:00
Wez Furlong
d86f7ff2df remove unused bits 2018-02-17 12:18:29 -08:00
Wez Furlong
2b2e443c7b fix glyph y scale for color emoji 2018-02-17 12:17:36 -08:00
Wez Furlong
98c66b1919 remove unused variables 2018-02-17 12:00:29 -08:00
Wez Furlong
261a6cb6c6 remove some dead xproto code from xgfx 2018-02-17 12:00:13 -08:00
Wez Furlong
220e73e528 clean up more of the rendering
We can now render bg colors, selection, cursor, and the text has
reasonable proportions, and coloring.

bright cyan on blue has some black AA artifacts that I need to
investigate.
2018-02-17 11:53:54 -08:00
Wez Furlong
b8eb6dbedc make color -> uniform conversion more ergonomic 2018-02-17 08:25:59 -08:00
Wez Furlong
6991f5c6e0 fixup rendering of wide and color glyphs 2018-02-17 08:19:01 -08:00
Wez Furlong
cbad708398 the glyphs now have the correct proportions 2018-02-17 07:37:06 -08:00
Wez Furlong
9c4d26827e draw ghostly looking glyphs 2018-02-17 07:23:59 -08:00
Wez Furlong
c8a58cac06 we now render useless blocks in the fg color via gl 2018-02-16 23:28:51 -08:00
Wez Furlong
20965e786f start hacking on OpenGL ES2 rendering 2018-02-16 21:44:56 -08:00
Wez Furlong
20f4b21f13 add some more tests 2018-02-12 08:25:31 -08:00
Wez Furlong
28179ff981 check negative value for ECH, too 2018-02-12 08:15:35 -08:00
Wez Furlong
438822d63b add ECH handling 2018-02-12 07:57:22 -08:00