Xref: utzoo comp.benchmarks:489 comp.graphics:16920 Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!usc!elroy.jpl.nasa.gov!decwrl!sgi!shinobu!odin!bruceh From: bruceh@sgi.com (Bruce R. Holloway) Newsgroups: comp.benchmarks,comp.graphics Subject: Re: Truth or Dare? Message-ID: <1991Mar29.005630.22949@odin.corp.sgi.com> Date: 29 Mar 91 00:56:30 GMT References: <1991Mar27.174104.26867@hellgate.utah.edu> Sender: news@odin.corp.sgi.com (Net News) Followup-To: comp.benchmarks Distribution: comp Organization: Silicon Graphics, Inc., Mountain View, CA Lines: 55 In article <1991Mar27.174104.26867@hellgate.utah.edu> thomson@cs.utah.edu (Rich Thomson) writes: >Several times on comp.graphics the SGI folks have offered up the >famous "1 million polygons/second" quotation from marketing literature >when referring to peak performance on the VGX series of machines. > >The polygons in question are 50 pixel triangle strips that are flat >shaded. Also, they may have rendered them without the Z buffer turned >on (the spec sheet is away from me at the moment). >... >So: is this a "theoretical" number, or is it attainable by a program, >no matter how contorted? We have a suite of performance measurement programs which allow lots of primitives with different characteristics to be tried. I ran a certain case and got the following output: * Mesh, DisplayList, Subpixel, RGBmode, Flat, Area = 50.000000, PYM_FILL, MeshesPerSecond = 886681 My machine is only a 5-span, which means I have just one raster memory board. Apparently the quoted performance numbers are for a 10-span system. With slightly smaller triangles I obtained: * Mesh, DisplayList, Subpixel, RGBmode, Flat, Area = 40.500000, PYM_FILL, MeshesPerSecond = 1022706 The inner loops looked like this: makeobj(*name=genobj()); for(jdx=0; jdx0; --i,fp+=40) { v3f(fp); v3f(fp+4); v3f(fp+8); v3f(fp+12); v3f(fp+16); v3f(fp+20); v3f(fp+24); v3f(fp+28); v3f(fp+32); v3f(fp+36); } endtmesh(); } closeobj(); grestartwatch(); for (i=events/(objects*OBJSZ); i>0; i--) callobj(Obj); sec = gstopwatch(); return((int) events/sec); My cursory inspection of the program revealed zbuffer(TRUE) & zfunction(ZF_ALWAYS). I'd send something simple & complete if I had time, but this is the best I can do right now. Regards, bruceh