After this chapter was completed, I noticed that the spinning bolt example
actually ran slower on NT 4.0 than it did on NT 3.51. As you may have already
heard, OpenGL on NT 4.0 is supposed to be much faster than it was on 3.51.
Gilman Wong at Microsoft was kind enough to spend some time looking at my
code and made the following observations. He was kind enough to re-write the
code to demonstrate an even faster spinning bolt! This "turbo" code can
be found in the \wow directory here.
>Richard:
>
>I've been so busy with trying to get our stuff ready for the next
>release, I have not had time to look at this until last night. I
>finally got a chance to sit down and study your app source.
>
>Unfortunately, this example is somewhat of a worse case scenario for our
>new code. You are using many small primitives (pairs of GL_TRIANGLES)
>interspersed with state changes (mainly in RenderShaft() and
>*especially* RenderThread()).
>
>The NT4.0 code improvements mainly benefit the vertex array case.
>Primitives that already have vertex sharing (such as quad and tri
>strips) were already pretty efficient in NT3.51 and may accrue little or
>no benefit from the new code. Unfortunately, small primitives (like the
>GL_TRIANGLE pairs you were using) that are interspersed with frequent
>state changes may actually degrade in performance.
>
>I've rewritten the app to use GL_QUAD_STRIPs in RenderShaft() and
>RenderThread() (I didn't think it would be worth the effort to fix the
>12 triangles that comprise the sides of the bolt head). The shaft is a
>single quad strip and the thread is composed of two quad strips that
>spiral up the shaft. The modified code runs much faster in NT3.31, but
>the gain is even greater on NT4.0! Here are the old and new app times
>on both NT3.51 (build 1057) and NT 4.0 (build 1339) running on a Dell
>P5-90, Diamond Viper PCI 1024x768x16bpp:
>
> Old app New app
> -------------------------------
> Build 1057 11.9 sec 7.6 sec
> Build 1339 15.9 sec 7.5 sec
>
>Even greater performance gains in NT4.0 could be achieved using the
>vertex arrays.
>
> -- Gilman
The vertex arrays, along with some other 1.1 goodies are demonstrated in the
screen saver that is presented in the \OpenGL11 directory. Be sure and compare
the before and after performance of the animation!
Wyszukiwarka
Podobne podstrony:
wowTP WOWLil Bow Wow Bow Wow Thats My NameWoW?Q S120914 IcecrownWoW?Q S120914 IcecrownWurth WoW! 5 User ManualTO WOWWoW?Q S140401 ElementsTP WOWwięcej podobnych podstron