looks like I need to re-arrange the buffer back to its previous config, too many cache misses when accessing the signal