From e3359f8349cf972052604c089b5bab71f5e33095 Mon Sep 17 00:00:00 2001 From: nicm Date: Tue, 24 Sep 2019 20:44:58 +0000 Subject: Some minor performance improvements - most notably, don't search the input state table if the next character matches the same state as before. --- grid.c | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) (limited to 'grid.c') diff --git a/grid.c b/grid.c index 2f1e9b59..a016dc12 100644 --- a/grid.c +++ b/grid.c @@ -186,17 +186,19 @@ grid_clear_cell(struct grid *gd, u_int px, u_int py, u_int bg) struct grid_cell *gc; memcpy(gce, &grid_cleared_entry, sizeof *gce); - if (bg & COLOUR_FLAG_RGB) { - grid_get_extended_cell(gl, gce, gce->flags); - gl->flags |= GRID_LINE_EXTENDED; + if (bg != 8) { + if (bg & COLOUR_FLAG_RGB) { + grid_get_extended_cell(gl, gce, gce->flags); + gl->flags |= GRID_LINE_EXTENDED; - gc = &gl->extddata[gce->offset]; - memcpy(gc, &grid_cleared_cell, sizeof *gc); - gc->bg = bg; - } else { - if (bg & COLOUR_FLAG_256) - gce->flags |= GRID_FLAG_BG256; - gce->data.bg = bg; + gc = &gl->extddata[gce->offset]; + memcpy(gc, &grid_cleared_cell, sizeof *gc); + gc->bg = bg; + } else { + if (bg & COLOUR_FLAG_256) + gce->flags |= GRID_FLAG_BG256; + gce->data.bg = bg; + } } } -- cgit