[ Usenet FAQs | Search | Web FAQs | Documents | RFC Index ]
    Search the FAQ Archives

Single Page

Top Document: SGI performer Frequently Asked Questions (FAQ)
Previous Document: -21- Binary Compatibility on different releases
Next Document: -23- How do I make GL calls from within a IRIS Performer program?


-22- Guaranteeing Real Time performance



  - Run as root so that Performer can lock your process to
    a particular CPU (if using pfuLockCPU) and give it a
    non-degrading priority.

  - Be sure to kill any clocks, gr_osview, or other tools that may
    wake up and draw themselves, so as to avoid graphics context
    switches.

  - When multiprocessing, make sure the executable is on a local file
    system.

  - There is a new real-time kernel directive for Onyx/Challenge
    processors for directing system interrupts away from real-time
    processors.

    In the file /var/sysgen/system/irix.sm, Search for NOINTR and
    below the comment explaining NOINTR, add the line

	NOINTR: 1 2 3 4 ..etc..

    where you list the CPUs that you intend to do real-time
    processing on.  Then reboot.  This can be done on 5.2+
    Onyx/Challenge systems but wasn't covered in the base IRIX5
    documentation.  Be sure -not- to specify CPU 0, as you will want
    it to be available for necessary interrupts.

  - With IRIS GL, real-time performance can only be guaranteed if you
    have one window rendering at a time, per pipe.

    If more than one application is rendering to the same hardware
    pipeline, the (hardware) graphics pipe has to switch back & forth
    between each GL window's context several hundred times per
    second.  This is horribly inefficient and the graphics pipe will
    instruct the "other" process to block while its context is
    switched out.

  - Since having other (cpu-based) applications running can also
    effect real-time performance, it's sometimes desirable to
    minimize the number of daemons and other processes.  If you have
    problems achieving real-time behavior, try the pfuLockCPU in
    libpfutil.  You might also try turning off the desktop support
    and other daemons that are not crucial to your application,
    e.g.:

       % touch ~/.disableDesktop
       or
       % mkdir ~/.desktop-<machinename>
       % touch ~/.desktop-<machinename>/nodesktop

    and for total removal do:

       % chkconfig desktop off
       % chkconfig objectserver off
       % chkconfig directoryserver off
       % chkconfig fontserver off
       % chkconfig soundscheme off
     



Top Document: SGI performer Frequently Asked Questions (FAQ)
Previous Document: -21- Binary Compatibility on different releases
Next Document: -23- How do I make GL calls from within a IRIS Performer program?

Single Page


[ Usenet FAQs | Search | Web FAQs | Documents | RFC Index ]

Send corrections/additions to the FAQ Maintainer:
sgi-faq@viz.tamu.edu (The SGI FAQ group)

Last Update December 03 2008 @ 00:12 AM

© 2008 FAQS.ORG. All rights reserved.