Indy R5000 textured OpenGL performance
#1
Indy R5000 textured OpenGL performance
Hi,

I was testing a some textured OpenGL code on an SGI Indy, and although I didn't have high hopes about the performance, I was still a little surprised by the FPS.

The code opens a 320x240 OpenGL window through glut, using glutPostRedisplay() in the glutDisplayFunc() call to get the highest FPS possible. It then displays a texture from -1,-1 to 1,1 in one mode, and another mode displays a simple colored triangle.

The performance on my system for the triangle is 60 FPS, but only 9 FPS for the textured mode. I was wondering, is there a way to set the texture projection quality lower than I had already set it to? Or is there another more performant way to go about displaying a window-spanning texture on the screen?

The indytex.c file is attached as indytex.txt as the .c extension doesn't seem to be allowed to be attached to this post, see comment at the top of the file to compile. Press '1' to switch to triangle mode, '2' on the keyboard to switch back to texture mode.

hinv of my system:
Code:
usahime> hinv -v
CPU: MIPS R5000 Processor Chip Revision: 1.0
FPU: MIPS R5000 Floating Point Coprocessor Revision: 1.0
1 150 MHZ IP22 Processor
Main memory size: 256 Mbytes
Secondary unified instruction/data cache size: 512 Kbytes on Processor 0
Instruction cache size: 32 Kbytes
Data cache size: 32 Kbytes
Integral SCSI controller 0: Version WD33C93B, revision D
  Disk drive: unit 1 on SCSI controller 0 (unit 1)
On-board serial ports: 2
On-board bi-directional parallel port
Graphics board: Indy 24-bit
Integral Ethernet: ec0, version 1
Integral ISDN: Basic Rate Interface unit 0, revision 1.0
Iris Audio Processor: version A2 revision 4.1.0
Vino video: unit 0, revision 0, IndyCam not connected


Attached Files
.txt indytex.txt Size: 3.4 KB  Downloads: 201

Octane2 Origin 350 Indy
Purr
MIPSPro

Trade Count: (0)
Posts: 5
Threads: 2
Joined: May 2021
Location: The Netherlands
Find Reply
01-25-2023, 02:56 PM
#2
RE: Indy R5000 textured OpenGL performance
Your hinv shows "XGE24" graphics, which is what SGI renamed the XL24 card when used in conjunction with a R5000 CPU. (The enhanced floating point speed of the R5000 was intended to speed up 3D geometry calculations, so R5000+XL is quite different from R4000+XL in terms of 3D performance: to make that clearer they changed the name).
The XL24 card does not have any texture engine. It can draw flat shaded triangles quite fast from its modified-Bresenham circuitry that is used for both lines and triangles, but any textured poly must be drawn pixel-by-pixel by the CPU.
The other graphics option for the Indy, XZ (GR3-Elan) also does not have any texture engine, but it uses 4 Geometry Engines (GEs) to calculate 3D geometry instead of using the CPU. This is faster than a R4000 CPU but sometimes slower than a R5000. There was no SGI desktop graphics with texture hardware until the Indigo2 High/Max IMPACT in 1995.

You can see other comparisons of graphics performance on Ian Mapleson's site (sgidepot.co.uk). I'll link two that are especially relevant:
SGI Performance Comparisons (click "Inventor 3D (single buff)" to see results relevant to your query)
HolliDance Benchmark

Also note, if your "shaded triangle only" test is pegged at 60 FPS, you must be using double-buffering, which is not the best comparison for raw graphics performance (although it is usually required to prevent tearing). See Why Double Buffering? from sgidepot again.

Personaliris O2 Indigo2 R10000/IMPACT Indigo2 R10000/IMPACT Indigo2 Indy   (past: 4D70GT)
(This post was last modified: 01-25-2023, 08:29 PM by robespierre.)
robespierre
refector peritus

Trade Count: (0)
Posts: 641
Threads: 3
Joined: Nov 2020
Location: Massholium
Find Reply
01-25-2023, 08:23 PM


Forum Jump:


Users browsing this thread: 1 Guest(s)