From 6226ee6ed6adf2a8708c0b36d62695d48b895ae6 Mon Sep 17 00:00:00 2001
From: Jeremy Soller <jackpot51@gmail.com>
Date: Mon, 6 Mar 2017 07:35:09 -0700
Subject: [PATCH] Improve performance of character rendering

---
 src/terminal/console.rs | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/terminal/console.rs b/src/terminal/console.rs
index 9407dc1..ec30e90 100644
--- a/src/terminal/console.rs
+++ b/src/terminal/console.rs
@@ -206,13 +206,14 @@ impl Console {
             let font_bold = &self.font_bold;
             let window = &mut self.window;
             let changed = &mut self.changed;
+            let mut str_buf = [0; 4];
             self.console.write(buf, |event| {
                 match event {
                     ransid::Event::Char { x, y, c, color, bold, .. } => {
                         if bold {
-                            font_bold.render(&c.to_string(), 16.0).draw(window, x as i32 * 8, y as i32 * 16, Color { data: color.data });
+                            font_bold.render(&c.encode_utf8(&mut str_buf), 16.0).draw(window, x as i32 * 8, y as i32 * 16, Color { data: color.data });
                         } else {
-                            font.render(&c.to_string(), 16.0).draw(window, x as i32 * 8, y as i32 * 16, Color { data: color.data });
+                            font.render(&c.encode_utf8(&mut str_buf), 16.0).draw(window, x as i32 * 8, y as i32 * 16, Color { data: color.data });
                         }
                         changed.insert(y);
                     },
-- 
GitLab