If you would repeat the experiment multiple times, you will notice that the 2% below is even below the error margin. So I am very doubtful there is any improvement at all :-) And about the memcpy: I am pretty sure you will bump into synchronization issues between two event loops (one of phoneme and one of the Qt4 frontend). The phoneME backend calls a method in the Qt4 frontend to say it is time to paint the buffer. The Qt4 front-end will emit an asynchronous signal. By the time this signal is processed the original buffer has changed, resulting in flickering and painting of intermediate frames if you use the original buffer. But feel free to experiment, you never know ... :-) Davy