Я только начал использовать библиотеку SFML и ее фантастический вид. Однако при изменении размера окна, перетаскивая угол мышью, я не получаю события изменения размера, пока я не выпущу мышь. Это означает, что я не могу обновить свою графику до тех пор, пока мышь не будет выпущена (игровой цикл находится в потоке gui), а также приводит к массовому потоку событий, проходящих через все позиции изменения размера.События изменения размера окна SFML, блокирующие основную нить
Как я могу сделать так, чтобы размер не блокировал поток?
Почему вы используете 2 очереди событий (event_buffer_a, event_buffer_b)? И почему вы используете std :: queue вместо std :: vector? – Truncheon
Это называется двойной буферизацией. Ну ... Я не уверен, действительно ли это действительно необходимо, но теперь это работает, и у меня есть более важные вещи, чтобы полировать в этом случае, поэтому я не буду с ним спорить прямо сейчас. Да, это может быть сделано только с одним буфером. Причина, по которой я сделал два, может заключаться в том, что я думал, что вставка будет блокироваться, но только блоки GetEvent, поэтому вставка после этого в порядке. Кроме того, я не думаю, что они должны быть деки, очереди будет достаточно. И я использую очередь, потому что быстрее поп/толчок, чем вектор, потому что это связанный список, а не «массив стиля С» в фоновом режиме. – torokati44