Let us consider my worst case. For whatever reason, a user might have
10,000 images all on the screen at once. I am worried that, if I draw all
of them in a batch, that this will still cause unacceptable lag. Only a
handful of images ever needs to be redrawn every second, so I would like to
keep all of the other images drawn, without having to redraw them unless
they need updating. I really have no use whatever for window.clear(),
except that when I don't use it, there appear to be two alternating buffers
that get drawn to, rather than one.
Claudio suggested this solution:
> "A possible way to sort it out can be:
. have a Framebuffer Object (FBO) as taget for your draws,
when you receive an on_draw blit the fbo over the screen"
However, I was unable to find a resource on how to do this.
On Tuesday, April 21, 2015 at 10:02:26 PM UTC-4, [email protected] wrote:
>
> I agree with Adam, you should try using Batch Rendering.
>
> The reason you may be getting such crushing frame rates is because each
> blit call is process intensive, blitting a few images won't do much, but
> when you get into dozens, hundreds, or thousands of blit calls it quickly
> adds up. With batch rendering, you group together all the images you want
> to draw into a single tileset or image Atlus, and then draw everything in a
> *single* call, instead of several individual calls.
>
> While it may not be entirely similar to your situation, in my earlier
> projects i've gone from 300 tiles running at 10fps, to 1500 tiles running
> at 60fps when making the switch to batch rendering.
>
--
You received this message because you are subscribed to the Google Groups
"pyglet-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/pyglet-users.
For more options, visit https://groups.google.com/d/optout.