I think you should connect updateGL() to a timer and either store the data from the other thread in some kind of queue, so that it won't interfere, or synchronise threads and store image in a shared buffer(but it'll be slower then) -- shared memory could come in handy here, you might even get away with synchronising here -- make buffers separate (so like a queue) and only assign a pointer to the current buffer in a shared variable. You can use Qt atomic operations for that to avoid the need to block the other thread.
Bookmarks