Re: [g-a-devel] Questions about the gnome-mag design
- From: Bill Haneman <Bill Haneman Sun COM>
- To: Carlos Eduardo Rodrigues Diogenes <cerdiogenes yahoo com br>
- Cc: gnome-accessibility-devel gnome org, xLupa yahoogrupos com br
- Subject: Re: [g-a-devel] Questions about the gnome-mag design
- Date: Fri, 04 Nov 2005 09:55:40 +0000
Carlos Eduardo Rodrigues Diogenes wrote:
Bill Haneman wrote:
Carlos
Try specifying the screen number in your call, for instance:
magnifier -mv -t myip:0.0 -s myip:0.0
Yes, this work, but the delay to show the magnified area is worst then
I executing the application in my machine. I think that the X traffic
is too high.
I expect so, since this is causing ALL of the pixel movement to be
passed over the X wire.
You really need to run the magnifier on the same host as the target X
server for reasonable performance. It's OK for the 'source' display to
be remote, but making the 'target' remote will slow things down
terribly, as you see.
There's no way to avoid this, since you are asking for all the
magnification processing to happen remote from the X displays, so all
pixmaps have to go over the wire every time in this case.
Bill
However I have never tested the magnifier with source and target the
same, but both remote.
You might also try
magnifier -display myip:0.0 -mv
or setting the DISPLAY env variable before starting the magnifier.
One of those should work I think.
Bill
Carlos Eduardo Rodrigues Diogenes wrote:
Bill Haneman wrote:
(sorry for replying to myself - this is a clarification)
Bill Haneman wrote:...
Also, there are situations where the magnifier service may need to
run on a different host from the client. For instance, if you are
running a remote application, you don't really want the magnifier
to run remotely as well, because of the much larger amount of X
traffic and the CPU requirements of the magnification service.
CORBA allows this at least in theory (although our current
'bonobo-activation' mechanism does not recognize remote servers).
The CPU requirements isn't is a big problem, because if you start the
gnome-mag in a remote machine, probably, this machine will have a
better
CPU than the machine that is running the X Server. The X traffic is
really important, but I think that it's not a big problem, because we
have solutions like vino and xdmcp that works really fine, and how
gnome-mag uses the DAMAGE extension this problem is minimized. I raised
this aspect, because here in Brazil we have many places with old
machines, that will not support a good magnifier without delay, so is
more cheap buy a good server and use the old machines like dummy
terminals.
By this I mean that "bonobo-activation-server" doesn't report
remote magnification services to a client which is requesting an
instance of gnome-mag. However, gnome-mag should work fine with
remote _X servers_ as far as I know - at least, I have used this
feature in the past. (Carlos, did you get this working on your
system? Maybe a bug somewhere?)
no... here is the output of what I get when I call gnome-mag with this
command line in the remote machine:
#: magnifier -mv -t myip:0 -s myip:0
(magnifier:19579): Bonobo-WARNING **: Assigning a default value to a
non
readable property 'source-display-screen'
(magnifier:19579): Bonobo-WARNING **: Assigning a default value to a
non
readable property 'target-display-screen'
(magnifier:19579): Gdk-CRITICAL **: gdk_display_get_screen: assertion
`ScreenCount (GDK_DISPLAY_X11 (display)->xdisplay) > screen_num' failed
(magnifier:19579): Gdk-CRITICAL **: gdk_screen_get_root_window:
assertion `GDK_IS_SCREEN (screen)' failed
(magnifier:19579): Gdk-CRITICAL **: gdk_display_get_screen: assertion
`ScreenCount (GDK_DISPLAY_X11 (display)->xdisplay) > screen_num' failed
(magnifier:19579): Gdk-CRITICAL **: gdk_screen_get_root_window:
assertion `GDK_IS_SCREEN (screen)' failed
(magnifier:19579): Gdk-CRITICAL **: gdk_display_get_screen: assertion
`ScreenCount (GDK_DISPLAY_X11 (display)->xdisplay) > screen_num' failed
(magnifier:19579): Gdk-CRITICAL **: gdk_screen_get_width: assertion
`GDK_IS_SCREEN (screen)' failed
(magnifier:19579): Gdk-CRITICAL **: gdk_display_get_screen: assertion
`ScreenCount (GDK_DISPLAY_X11 (display)->xdisplay) > screen_num' failed
(magnifier:19579): Gdk-CRITICAL **: gdk_screen_get_height: assertion
`GDK_IS_SCREEN (screen)' failed
(magnifier:19579): Gdk-CRITICAL **: gdk_display_get_screen: assertion
`ScreenCount (GDK_DISPLAY_X11 (display)->xdisplay) > screen_num' failed
(magnifier:19579): Gdk-CRITICAL **: gdk_screen_get_width: assertion
`GDK_IS_SCREEN (screen)' failed
(magnifier:19579): Gdk-CRITICAL **: gdk_display_get_screen: assertion
`ScreenCount (GDK_DISPLAY_X11 (display)->xdisplay) > screen_num' failed
(magnifier:19579): Gdk-CRITICAL **: gdk_screen_get_height: assertion
`GDK_IS_SCREEN (screen)' failed
(magnifier:19579): Gdk-CRITICAL **: gdk_display_get_screen: assertion
`ScreenCount (GDK_DISPLAY_X11 (display)->xdisplay) > screen_num' failed
(magnifier:19579): Gdk-CRITICAL **: gdk_screen_get_root_window:
assertion `GDK_IS_SCREEN (screen)' failed
(magnifier:19579): Gdk-CRITICAL **: gdk_display_get_screen: assertion
`ScreenCount (GDK_DISPLAY_X11 (display)->xdisplay) > screen_num' failed
(magnifier:19579): Gdk-CRITICAL **: gdk_screen_get_root_window:
assertion `GDK_IS_SCREEN (screen)' failed
(magnifier:19579): Gdk-WARNING **: gdkdrawable-x11.c:904 drawable is
not
a pixmap or window
The program 'magnifier' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadDrawable (invalid Pixmap or Window parameter)'.
(Details: serial 9 error_code 9 request_code 154 minor_code 1)
(Note to programmers: normally, X errors are reported asynchronously;
that is, you will receive the error a while after causing it.
To debug your program, run it with the --sync command line
option to change this behavior. You can then get a meaningful
backtrace from your debugger if you break on the gdk_x_error()
function.)
If we can get the bonobo-activation-server to return the CORBA
object ID of a remote gnome-mag service (or hack some other
mechanism for getting the object ID), then a remote client (for
instance, a remote instance of gnopernicus) can talk to a local
gnome-mag service through the bonobo/CORBA IPC interface.
Bill
This sort of case is probably more common in some corporate
environments, but we are not sure just how important it will be in
the future.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]