[Haskell-cafe] Packing Haskell values into a C array

Michael Baker michaeltbaker at gmail.com
Sun Apr 27 02:28:22 UTC 2014


> 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 <mail at nh2.me> 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-BufferObjects.html#v:fromVector
.

> On Sat, Apr 26, 2014 at 3:13 PM, Anthony Cowley <acowley at seas.upenn.edu>
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?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20140426/7a212180/attachment.html>


More information about the Haskell-Cafe mailing list