From c9e24e5b8b9dd903a393f6b6e2176545fa2c93a8 Mon Sep 17 00:00:00 2001 From: runge Date: Tue, 9 Jan 2007 04:55:37 +0000 Subject: more speed and accuracy improvements to -ncache mode. --- x11vnc/xdamage.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'x11vnc/xdamage.c') diff --git a/x11vnc/xdamage.c b/x11vnc/xdamage.c index 08e2278..5e9b4e1 100644 --- a/x11vnc/xdamage.c +++ b/x11vnc/xdamage.c @@ -546,6 +546,7 @@ int xdamage_hint_skip(int y) { int ret, i, n, nreg; static int ncache_no_skip = 0; static double last_ncache_no_skip = 0.0; + static double last_ncache_no_skip_long = 0.0, ncache_fac = 0.25; if (! xdamage_present || ! use_xdamage) { return 0; /* cannot skip */ @@ -561,6 +562,7 @@ int xdamage_hint_skip(int y) { nreg = (xdamage_memory * NSCAN) + 1; +#ifndef NO_NCACHE if (ncache > 0) { if (ncache_no_skip == 0) { double now = dnow(); @@ -575,16 +577,23 @@ int xdamage_hint_skip(int y) { } if (ncache_no_skip) { last_ncache_no_skip = dnow(); + if (now > last_ncache_no_skip_long + 60.0) { + ncache_fac = 2.0; + last_ncache_no_skip_long = now; + } else { + ncache_fac = 0.25; + } return 0; } } else { - if (ncache_no_skip++ >= 1*nreg + 4) { + if (ncache_no_skip++ >= ncache_fac*nreg + 4) { ncache_no_skip = 0; } else { return 0; } } } +#endif tmpl = sraRgnCreateRect(0, y, dpy_x, y+1); -- cgit v1.2.3