Gerard R. Tyra (gerry++at++sa-tech.com)
Mon, 01 Dec 1997 12:31:31 -0800
> I have a flight simulator application producing a three channel output
> consisting of centre , left and right . The left and right channels are
> pfAttached to the centre thus sharing channel attributes including , I
> assume PFCHAN_SWAPBUFFERS.
>
> The problem is , often , the channels update out of sync producing a
> 'picture wobble' effect. The left and right channels appear to display
> this tendency most frequently.
>
> Is this a phenomena observed by others or am I doing something wrong.
> Thinking It may be the time taken to draw a channel I have tried
> lowering the frame rate and still this is observed.
>
> The kit we are using Is a 4 processor ,2 RM, Onyx RE2 with 64MB ram.
> Any suggestions to a solution would be greatly appreciated.
>
Pete,
You are probably seeing a problem that has been around since the switch
to OpenGL.
Under IrisGL there was a gang draw option. The pipes are interconnected
using the gang draw connector to form an open collector circuit. This
circuit delays the swap buffer from happening until the vertical retrace
after all the pipes have finished drawing and have a valid swap command
pending.
Unfortunately, the man page (Irix 6.2) for glXSwapBuffers() states that
gang draw is not supported on IR, RE, or RE2.
The result is that when there is a significant difference in the loading
on pipes (e.g., an aircraft in a turn with one pipe looking at the
ground and the opposite pipe looking into the sky) the swap commands may
be issued to all of the pipes at the same time, but one or more of the
pipes still have a lot of commands pending in the pipe. This causes the
"fast" pipe to swap buffers on an earlier vertical retrace than the
"slow" pipes.
I first ran into this problem three years ago on a flight simulator. I
was told by SGI at the time that the gang draw existed on the RE, but it
was undocumented and unsupported. There was no way that we would
deliver software to a customer that was dependent on calls to functions
with that level of non-support.
A question for ASD:
Has gang draw been implemented in newer versions of Irix? If not, why
not?
Gerry
=======================================================================
List Archives, FAQ, FTP: http://www.sgi.com/Technology/Performer/
Submissions: info-performer++at++sgi.com
Admin. requests: info-performer-request++at++sgi.com
This archive was generated by hypermail 2.0b2 on Mon Aug 10 1998 - 17:56:19 PDT