Change Framebuffer's containers/methods to improve performance.

* Reduce the size of Terminal::Cell.
* Change colors and attributes in Terminal::Rendition to bitfields/bitmask.
* Change Cells to use UTF-8 strings instead of vector<wchar_t>.  Store Rows in a vector instead of a deque.
* Add various Framebuffer::append() methods for more efficient passing of single and repeated characters.
* Change title/icon strings from deques to a vector typedef-- this is more for tidiness than any real performance.
This commit is contained in:
John Hood
2014-06-14 19:16:13 -04:00
parent 8fdcdc88cd
commit 32afa96111
10 changed files with 195 additions and 164 deletions
+1 -2
View File
@@ -85,8 +85,7 @@ void Parser::UTF8Parser::input( char c, Actions &ret )
/* This function will only work in a UTF-8 locale. */
wchar_t pwc;
mbstate_t ps;
memset( &ps, 0, sizeof( ps ) );
mbstate_t ps = mbstate_t();
size_t total_bytes_parsed = 0;
size_t orig_buf_len = buf_len;