mirror of
https://github.com/izzy2lost/xemu.git
synced 2026-07-06 00:20:22 -07:00
ui/vc: skip text console resize when possible
This function is called on invalidate, on each cursor blink. Avoid the extra copy when the console size didn't change. Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Message-Id: <20230830093843.3531473-41-marcandre.lureau@redhat.com>
This commit is contained in:
+9
-3
@@ -413,13 +413,19 @@ static void text_console_resize(QemuTextConsole *t)
|
||||
{
|
||||
QemuConsole *s = QEMU_CONSOLE(t);
|
||||
TextCell *cells, *c, *c1;
|
||||
int w1, x, y, last_width;
|
||||
int w1, x, y, last_width, w, h;
|
||||
|
||||
assert(s->scanout.kind == SCANOUT_SURFACE);
|
||||
|
||||
w = surface_width(s->surface) / FONT_WIDTH;
|
||||
h = surface_height(s->surface) / FONT_HEIGHT;
|
||||
if (w == t->width && h == t->height) {
|
||||
return;
|
||||
}
|
||||
|
||||
last_width = t->width;
|
||||
t->width = surface_width(s->surface) / FONT_WIDTH;
|
||||
t->height = surface_height(s->surface) / FONT_HEIGHT;
|
||||
t->width = w;
|
||||
t->height = h;
|
||||
|
||||
w1 = last_width;
|
||||
if (t->width < w1)
|
||||
|
||||
Reference in New Issue
Block a user