Up: SGI performer Frequently Asked Questions (FAQ)
Next: -23- How do I make GL calls from within a IRIS Performer program?
Previous: -21- Binary Compatibility on different releases
Subject: -22- Guaranteeing Real Time performance
Date: 8 Apr 94 00:00:01 EST
- 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
Up: SGI performer Frequently Asked Questions (FAQ)
Next: -23- How do I make GL calls from within a IRIS Performer program?
Previous: -21- Binary Compatibility on different releases