Re: X vs GL input

New Message Reply Date view Thread view Subject view Author view

Fischler (src++at++rose)
Tue, 17 Jan 1995 15:55:24 -0800


+>---- On Jan 17, 2:49pm, Lance R. Marrou wrote:
> Subject: Re: X vs GL input
->On Tue, 17 Jan 1995, Brandon M. Lenz wrote:
->
->>
->> Hello.
->>
->> I know that this question has probably been asked before. Is it
->> better to use X or GL for input queueing/processing/etc. in Performer??
->> What are the pros and cons of using either one??

Since you won't have GL input handling in OpenGL, if you ever plan
to run in OpenGL (or on future SGI haredware that will be native OpenGL),
you should definitely use X.
Secondly, for both MP and single CPU systems, it is more efficient and
interactive to have your input handled in an asynchronous process as
opposed to the drawing process at the end of each frame.
        - when drawing is very slow, you may want inputs handled faster
                than the frame rate
        - handling inputs can make the draw miss frames
On an MP system, the input handling process should be put on a CPU separate
from the draw.

There were some OS performance bugs (fixed in IRIX5.3) that could cause
some latencies when two process collide on locks.
However, you won't see this if you are running in a real-time configuration
(run app,cull,draw with non-degrading priorities on isolated CPUs).

->
->Supposedly, it is faster to use X input rather than GL input because X input
->is implemented through an asynchronous process. However, in my personal
->testing, I have not noticed ay difference, but it may be because I do not
->keep my fingers on the keyboard continuously. This was on both an Onyx-4
->and an Indigo2 Extreme (running 5.2 and 5.3, respectively). The problems
->with X are that it is much more difficult to get started (despite the
->abundance of code available), there are bugs in the Indigo implementation
->(according to the release notes), and you cannot easily use window events
->and stuff unless you are an expert in X (I am not an expert and I tried and
->couldn't get it done, merely pushing/popping the window, and moving it).
->Of course, I posted the question here and someone respond, but apparently it
->is still impossible to push/pop/move a GLX window. Also, the ctrl, shift,
->and alt keys aren't polled in X.

Here you are just referring to the list of Performer-polled devices in
libpfutil/input.c file - which you can definitely add to, or
just use the UserHandler facility and grab the keyboard inputs yourself.

For pushing/popping/moving window, you should be able to use
XRaiseWindow, XLowerWindow, and XMoveResizeWindow. On a
GLX window, you would want to do these operations to the X window
that contains the gfx window and overlay windows.

As I mentioned on this list before, I am implementing a windowing structure
for IRIS Performer for the 2.0 release. One set of libpr/libpf API
will open/close/select/position windows in IRIS GL, MixedMode GLX, and OpenGL.
You will also be able to have multiple windows per pfPipe.
Hopefully this will make the use of X more approchable.

Comments/requests in this area are greatly appreciated!

src.

-- 
-----{-----{---++at++   -----{----{---++at++   -----{----{---++at++   -----{----{---++at++
Sharon Rose Clay (Fischler) - Silicon Graphics, Advanced Graphics Dev.
src++at++sgi.com  (415) 390 - 1002  FAX: (415) 965 - 2658  MS 8U-590
-----{-----{---++at++   -----{----{---++at++   -----{----{---++at++   -----{----{---++at++

New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2.0b2 on Mon Aug 10 1998 - 17:50:52 PDT

This message has been cleansed for anti-spam protection. Replace '++at++' in any mail addresses with the '@' symbol.