changed arraybuffer to use a dv created with the buffer in the background; in a long while it will just allocate a block on the large heap, but not now