Zack Schilling wrote:
> I tried the new alpha out on my game. The game draws a lot of quads
> and point sprite particles using VBOs. Everything drew fine, no
> crashes, flickering, stuttering, or any other errata. The only change
> I noticed was a stricter behavior with ERROR_ON_COPY enabled. I
> typically used ERROR_ON_COPY to make sure that I didn't make a dumb
> mistake with VBOs, but I never had a problem with using Python lists
> for things like texture deletion. Now the flag catches such uses. I'll
> need to make a few minor changes to my code.
Yeah, the ERROR_ON_COPY stuff now actually makes simplifying assumptions
for the wrappers (i.e. drops out wrapper code), so the various array
handlers need to be far more rigorous about checking. It caught quite a
few of my scripts where I was passing lists/tuples for light/material
parameters and similar small arrays.
>
> Other than that, the game ran as if nothing had changed. I didn't
> notice any change in speed or GPU load capability with acceleration
> on. I don't handle a ton buffers and pointers, so I guess a lot of the
> optimizations are lost on my code.
Yeah, if your code is basically a few dozen calls into PyOpenGL passing
in huge data-arrays then the PyOpenGL overhead would be negligible. In
OpenGLContext I see a drop from OpenGL calls being ~10% of run-time to
~2.5% of run time. Translates to about 9fps on the shaderobjects.py
demo (from 69 to 78).
> My main dev machine runs Mac OS X. I'll need to compile and test this
> all there too. I'll let you know if anything comes up.
We had a bug report on OS-X, I'm about to look into that.
Thanks for the update,
Mike
--
________________________________________________
Mike C. Fletcher
Designer, VR Plumber, Coder
http://www.vrplumber.com
http://blog.vrplumber.com
|