Re: how to make each channel's Cull & Draw locked to individual CPUs ------ SOS

New Message Reply Date view Thread view Subject view Author view

Bernard Leclerc (bleclerc++at++cae.ca)
Fri, 27 Sep 1996 09:26:49 -0400


flysiml++at++public.bta.net.cn wrote:

> Hi friends,
>
> I'm working on a visual simulation project using
> an Onyx(4*CPU, 1*Pipe/4*RM5,pf1.2). The project
> demmands 3 channels with individual eyepoint. I
> use PFMP_APP_CULL_DRAW for Multiprocessor split.
> I check the program performance with
> pfDrawChanStates and find that the refresh rate
> is only 20Hz. The bottltneck are 3 DRAW processes.
> They take more then one full cycle of 30Hz(my goal
> is to achieve 30Hz rate). I think if the each
> channel's CULL & DRAW can be locked to individual
> CPUs(so every cpu will execute only ONE channel's
> CULL and DRAW), the performance will be better.
> But from the Performer Programer's Guide I find
> that the CULL and DRAW can't be locked to individual
> cpu with each channel. How can I resolve this problem ?
>
> Another question: on my Onyx, will pf2.0 better than
> pf1.2 ?

With a single graphics pipe on your machine, I strongly recommend not to
create multiple DRAW processes. Since you're using pf1.2 you won't be able
to multithread the CULL stage as oppose to pf2.0

If you've created multiple pfPipe's (one per channel), then your 3 DRAW
processes will compete for a single resource (the graphics pipe) and force
unnecessary graphics context switching.

I don't recall Performer 1.2 API since I've been using 2.0 for more than a
year now. However the principles are the same. With pf2.0 I would create a
single pfPipe, open one pfPipeWindow and create 3 pfChannel's on it. If
the CULL stage becomes the bottleneck, use pfMultithread.

Remember, you have a single pipe, you want to run at 30 Hz (33 ms) and you
have 3 channels. It turns out each channel can use up to 11 ms max. But I
would budget only 8 ms since you need spare time.

Now, would you obtain better performance with Performer 2.0? I don't think
so. Pf2.0 hasn't increased performance over pf1.2 - it improved the API
and added a lot of new functionalities. But performance wise, you can
expect the same result.

Good luck.

--
Bernard Leclerc			CAE Electronics Ltd., 8585 Cote De Liesse
Technical Leader		Saint-Laurent, Quebec, Canada, H4L-4X4
3-D Graphics Applications	tel: +1 514 341 2000 extension 2275
bleclerc++at++cae.ca			fax: +1 514 340 5496
=======================================================================
List Archives, FAQ, FTP:  http://www.sgi.com/Technology/Performer/
            Submissions:  info-performer++at++sgi.com
        Admin. requests:  info-performer-request++at++sgi.com

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:53:38 PDT

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