Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!world!iecc!johnl From: johnl@iecc.cambridge.ma.us (John R. Levine) Newsgroups: comp.windows.x Subject: Too many expose events Message-ID: <1990Dec01.065919.16258@iecc.cambridge.ma.us> Date: 1 Dec 90 06:59:19 GMT Sender: johnl@iecc.cambridge.ma.us (John R. Levine) Organization: I.E.C.C. Lines: 30 I am writing what I think is a straightforward X application, which mostly writes fixed pitch text of various colors into a rectangular widget, and reads keystrokes and passes them back to the application. (Think of it as a special purpose xterm wired to its application.) About half the time when I type a keystroke, the X server clears the window and sends an expose event that forces me to redraw the whole thing. There isn't much of a discernable pattern, but it's fairly repeatable, e.g. if I set up the window with certain contents and press cursor down, I get the cleared window and expose every time I do it. This makes the performance look dreadful, since I sometimes have to redraw the whole window on every keystroke. I'm not using XtMainLoop, since this code is glued into an existing application -- there's an event loop of XtNextEvent and XtDispatchEvent inside the "get keystroke or mouse button" routine, but I can't see how that should affect the server. The server is Interactive's X11R3 VGA server 1.1 running on a Paradise super VGA. My widget is written with the basic Xt toolkit, though I am running the Motif window manager. The widget uses 10 colors, but it gets its pixels at the start of the session and changes its GC as it draws text in different colors. Other than setting the icon at startup, there's no window manager interactions beyond what Xt does automatically. Is this a server bug, or is there some arcane server interaction that I am fouling up? I'm baffled. -- John R. Levine, IECC, POB 349, Cambridge MA 02238, +1 617 864 9650 johnl@iecc.cambridge.ma.us, {ima|spdcc|world}!iecc!johnl "Typically supercomputers use a single microprocessor." -Boston Globe