Commit 5b607a44 authored by runge's avatar runge

changes to ncache cache aging and xdamage skipping

parent 76a495af
x11vnc README file Date: Wed Jan 3 19:10:56 EST 2007 x11vnc README file Date: Sun Jan 7 12:08:49 EST 2007
The following information is taken from these URLs: The following information is taken from these URLs:
...@@ -4171,6 +4171,52 @@ ied) ...@@ -4171,6 +4171,52 @@ ied)
(rare problem). (rare problem).
Example for the KDE desktop:
Launch the "KDE Control Center" utility. Sometimes this is called
"Personal Settings".
Select "Desktop".
Then Select "Window Behavior". In the "Moving" Tab set these:
* YES - Display content in moving windows
* YES - Display content in resizing windows
* NO - Display window geometry when moving or resizing
* NO - Animate minimize and restore
In the "Translucency" Tab set:
* NO - Use translucency/shadows
Next hit "Back" and then select "Panels".
In the "Appearance" Tab set:
* NO - Enable icon mouseover effects
* NO - Enable transparency
Now go all the way back up to the top and Select "Appearance &
Themes".
Select "Background" and set:
* YES - No picture
* Colors: Single Color
Select "Fonts" and disable anti-aliased fonts if you are bold enough.
Select "Launch Feedback" and set:
* Busy Cursor: No Busy Cursor
* NO - Enable taskbar notification
Select "Screen Saver" and set:
* Screen Saver: Blank Screen
Select "Style" and in the "Effects" Tab set:
* NO - Enable GUI effects
Example for the GNOME desktop:
* TBD.
Q-64: Does x11vnc support the X DAMAGE Xserver extension to find Q-64: Does x11vnc support the X DAMAGE Xserver extension to find
modified regions of the screen quickly and efficiently? modified regions of the screen quickly and efficiently?
...@@ -5436,7 +5482,8 @@ EndSection ...@@ -5436,7 +5482,8 @@ EndSection
"-nodpms" option to keep the Monitor out of low power state while VNC "-nodpms" option to keep the Monitor out of low power state while VNC
clients are connected. This is basically the same as typing "xset dpms clients are connected. This is basically the same as typing "xset dpms
force on" periodically. (if you don't want to do these things just force on" periodically. (if you don't want to do these things just
disable the screensaver). disable the screensaver). Feel free to file a bug against
kdesktop_lock with KDE.
Q-97: Can I use x11vnc to view my VMWare session remotely? Q-97: Can I use x11vnc to view my VMWare session remotely?
...@@ -9272,7 +9319,7 @@ x11vnc: a VNC server for real X displays ...@@ -9272,7 +9319,7 @@ x11vnc: a VNC server for real X displays
Here are all of x11vnc command line options: Here are all of x11vnc command line options:
% x11vnc -opts (see below for -help long descriptions) % x11vnc -opts (see below for -help long descriptions)
x11vnc: allow VNC connections to real X11 displays. 0.8.4 lastmod: 2007-01-03 x11vnc: allow VNC connections to real X11 displays. 0.8.4 lastmod: 2007-01-07
x11vnc options: x11vnc options:
-display disp -auth file -id windowid -display disp -auth file -id windowid
...@@ -9379,7 +9426,7 @@ libvncserver-tight-extension options: ...@@ -9379,7 +9426,7 @@ libvncserver-tight-extension options:
% x11vnc -help % x11vnc -help
x11vnc: allow VNC connections to real X11 displays. 0.8.4 lastmod: 2007-01-03 x11vnc: allow VNC connections to real X11 displays. 0.8.4 lastmod: 2007-01-07
(type "x11vnc -opts" to just list the options.) (type "x11vnc -opts" to just list the options.)
......
...@@ -195,7 +195,7 @@ int wireframe_in_progress = 0; ...@@ -195,7 +195,7 @@ int wireframe_in_progress = 0;
int wireframe_local = 1; int wireframe_local = 1;
#ifndef NCACHE #ifndef NCACHE
#define NCACHE -10 #define NCACHE -12
#endif #endif
#ifdef MACOSX #ifdef MACOSX
int ncache = 0; int ncache = 0;
......
This diff is collapsed.
...@@ -17,6 +17,8 @@ typedef struct winattr { ...@@ -17,6 +17,8 @@ typedef struct winattr {
double time; double time;
double bs_time; double bs_time;
double su_time; double su_time;
double vis_obs_time;
double vis_unobs_time;
int bs_x, bs_y, bs_w, bs_h; int bs_x, bs_y, bs_w, bs_h;
int su_x, su_y, su_w, su_h; int su_x, su_y, su_w, su_h;
Window above; Window above;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
.TH X11VNC "1" "January 2007" "x11vnc " "User Commands" .TH X11VNC "1" "January 2007" "x11vnc " "User Commands"
.SH NAME .SH NAME
x11vnc - allow VNC connections to real X11 displays x11vnc - allow VNC connections to real X11 displays
version: 0.8.4, lastmod: 2007-01-03 version: 0.8.4, lastmod: 2007-01-07
.SH SYNOPSIS .SH SYNOPSIS
.B x11vnc .B x11vnc
[OPTION]... [OPTION]...
......
...@@ -470,6 +470,10 @@ extern double x11vnc_start; ...@@ -470,6 +470,10 @@ extern double x11vnc_start;
extern double last_get_wm_frame_time; extern double last_get_wm_frame_time;
extern Window last_get_wm_frame; extern Window last_get_wm_frame;
extern double last_bs_restore;
extern double last_su_restore;
extern double last_bs_save;
extern double last_su_save;
extern int hack_val; extern int hack_val;
......
...@@ -15,7 +15,7 @@ int xtrap_base_event_type = 0; ...@@ -15,7 +15,7 @@ int xtrap_base_event_type = 0;
int xdamage_base_event_type = 0; int xdamage_base_event_type = 0;
/* date +'lastmod: %Y-%m-%d' */ /* date +'lastmod: %Y-%m-%d' */
char lastmod[] = "0.8.4 lastmod: 2007-01-03"; char lastmod[] = "0.8.4 lastmod: 2007-01-07";
/* X display info */ /* X display info */
...@@ -134,6 +134,10 @@ double x11vnc_start = 0.0; ...@@ -134,6 +134,10 @@ double x11vnc_start = 0.0;
double last_get_wm_frame_time = 0.0; double last_get_wm_frame_time = 0.0;
Window last_get_wm_frame = None; Window last_get_wm_frame = None;
double last_bs_restore = 0.0;
double last_su_restore = 0.0;
double last_bs_save = 0.0;
double last_su_save = 0.0;
int hack_val = 0; int hack_val = 0;
......
...@@ -563,13 +563,22 @@ int xdamage_hint_skip(int y) { ...@@ -563,13 +563,22 @@ int xdamage_hint_skip(int y) {
if (ncache > 0) { if (ncache > 0) {
if (ncache_no_skip == 0) { if (ncache_no_skip == 0) {
if (dnow() > last_ncache_no_skip + 4.0) { double now = dnow();
if (now > last_ncache_no_skip + 8.0) {
ncache_no_skip = 1; ncache_no_skip = 1;
} else if (now < last_bs_restore + 0.5) {
ncache_no_skip = 1;
} else if (now < last_su_restore + 0.5) {
ncache_no_skip = 1;
} else if (now < last_copyrect + 0.5) {
ncache_no_skip = 1;
}
if (ncache_no_skip) {
last_ncache_no_skip = dnow(); last_ncache_no_skip = dnow();
return 0; return 0;
} }
} else { } else {
if (++ncache_no_skip >= 2*nreg) { if (ncache_no_skip++ >= 1*nreg + 4) {
ncache_no_skip = 0; ncache_no_skip = 0;
} else { } else {
return 0; return 0;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment