From adbfe49125bd21c25551e3d3dfd5c7bd311ca82f Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Mon, 6 Oct 2014 15:49:58 -0400 Subject: try to send updates rather than the full screen on every frame this is not a very intelligent method at the moment, but it should (probably?) be an improvement over the current method. it probably fails pretty miserably on scrolling though - need to figure out a better idea for that. --- termcast_server/web.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) (limited to 'termcast_server/web.py') diff --git a/termcast_server/web.py b/termcast_server/web.py index 8b9f9e3..1c64fd4 100644 --- a/termcast_server/web.py +++ b/termcast_server/web.py @@ -34,14 +34,21 @@ class WebSocketHandler(tornado.websocket.WebSocketHandler): def on_finish(self): self.publisher.unsubscribe(self) - def msg_new_data(self, connection_id, prev_buf, data, screen): + def msg_new_data(self, connection_id, prev_buf, data, screen, updates): if self.watching_id != connection_id: return - reply = { - "type": "update_screen", - "screen": screen, - } + if updates: + reply = { + "type": "update_screen", + "updates": updates, + } + else: + reply = { + "type": "redraw_screen", + "screen": screen, + } + try: self.write_message(json.dumps(reply)) except: -- cgit v1.2.3-54-g00ecf