
On 26/04/14 19:24, Michael Baker wrote: I've thought of several things to try including: * Only allocate an array when the number of circles changes. * Convert a circles into a C struct and "poke" them directly into an existing array instead of going through the intermediate form of a list. * Do some manual memory management and index each circle into a preallocated array, only updating the values of the array that correspond to circles which have changed.
On Apr 26, 2014, at 3:53 PM, Niklas Hambüchen
wrote: Using a Storable vector is what I mostly do.
It goes nicely with rendering arrays of objects using OpenGL `BufferObject`s, using `fromVector` from
http://hackage.haskell.org/package/GLUtil-0.6.4/docs/Graphics-GLUtil-BufferO... .
On Sat, Apr 26, 2014 at 3:13 PM, Anthony Cowley
wrote: I second this recommendation. If you are doing frequent updates on a small subset of these values, I have most of an interface for doing so, but I haven't bundled it into GLUtil yet, so let me know (better: open an issue on github) if the existing interface just doesn't work for you.
So do you all just create a new vector every frame? Could you go into a little more detail?