home *** CD-ROM | disk | FTP | other *** search
/ OpenGL Superbible / OpenGL_Superbible_Waite_Group_Press_1996.iso / book / chapt10 / wow / wow.txt < prev   
Text File  |  1996-06-13  |  2KB  |  50 lines

  1. After this chapter was completed, I noticed that the spinning bolt example
  2. actually ran slower on NT 4.0 than it did on NT 3.51. As you may have already
  3. heard, OpenGL on NT 4.0 is supposed to be much faster than it was on 3.51. 
  4. Gilman Wong at Microsoft was kind enough to spend some time looking at my 
  5. code and made the following observations. He was kind enough to re-write the 
  6. code to demonstrate an even faster spinning bolt! This "turbo" code can
  7. be found in the \wow directory here.
  8.  
  9.  
  10. >Richard:
  11. >
  12. >I've been so busy with trying to get our stuff ready for the next
  13. >release, I have not had time to look at this until last night.  I
  14. >finally got a chance to sit down and study your app source.
  15. >
  16. >Unfortunately, this example is somewhat of a worse case scenario for our
  17. >new code.  You are using many small primitives (pairs of GL_TRIANGLES)
  18. >interspersed with state changes (mainly in RenderShaft() and
  19. >*especially* RenderThread()).
  20. >
  21. >The NT4.0 code improvements mainly benefit the vertex array case.
  22. >Primitives that already have vertex sharing (such as quad and tri
  23. >strips) were already pretty efficient in NT3.51 and may accrue little or
  24. >no benefit from the new code.  Unfortunately, small primitives (like the
  25. >GL_TRIANGLE pairs you were using) that are interspersed with frequent
  26. >state changes may actually degrade in performance.
  27. >
  28. >I've rewritten the app to use GL_QUAD_STRIPs in RenderShaft() and
  29. >RenderThread() (I didn't think it would be worth the effort to fix the
  30. >12 triangles that comprise the sides of the bolt head).  The shaft is a
  31. >single quad strip and the thread is composed of two quad strips that
  32. >spiral up the shaft. The modified code runs much faster in NT3.31, but
  33. >the gain is even greater on NT4.0!  Here are the old and new app times
  34. >on both NT3.51 (build 1057) and NT 4.0 (build 1339) running on a Dell
  35. >P5-90, Diamond Viper PCI 1024x768x16bpp:
  36. >
  37. >                 Old app    New app
  38. >    -------------------------------
  39. >    Build 1057   11.9 sec   7.6 sec
  40. >    Build 1339   15.9 sec   7.5 sec
  41. >
  42. >Even greater performance gains in NT4.0 could be achieved using the
  43. >vertex arrays.
  44. >
  45. >       -- Gilman
  46.  
  47. The vertex arrays, along with some other 1.1 goodies are demonstrated in the
  48. screen saver that is presented in the \OpenGL11 directory. Be sure and compare
  49. the before and after performance of the animation!
  50.