Почему аннулирование QGrapchicsScene для переднего плана, кажется, вызывает обновление на уровне элементов? - PullRequest
1 голос
/ 29 ноября 2011

У меня есть «карта» со 100.000 прямоугольников на «Слоях предметов», Я хочу создать динамическую линию и нарисовать ее на слое переднего плана. (То есть я не хочу иметь много обновлений ...) Производительность низкая, вы заметили, что мышь тяжело двигается. Я думаю, что это обновление для каждого прямоугольника, к которому эта строка «прикасается». Тогда что за передний слой? Я думал, что это позволит мне рисовать графическое представление, не обновляя слой элементов ... Может быть, это связано с отсутствием кэша для переднего плана? Любая идея ? Благодарю.

1 Ответ

1 голос
/ 08 апреля 2012

Когда я читал документацию по 4.8.0, она гласит:

Обратите внимание, что QGraphicsView в настоящее время поддерживает только фоновое кэширование (см. QGraphicsView :: CacheBackground). Эта функция эквивалентна вызову update (), если передается какой-либо слой, кроме QGraphicsScene :: BackgroundLayer.

Итак, если вы просто хотите обновить слой переднего плана, то он все равно будет рисовать, облом ...

Я знаю, что это не ответ, но он подтверждает то, что вы видите.

...