В этой статье речь пойдет об успешном решении одной практической задачи, которая возникла в процессе программирования с использованием Qt Graphics View.
Разработчики Qt Graphics View утверждают, что их система способна без труда обрабатывать сцены, состоящие из тысяч небольших графических примитивов и это правда. Делается это просто: с помощью хорошо известного алгоритма двоичного разбиения пространства (BSP) система очень быстро определяет, какие именно графические примитивы видит пользователь в данный момент (редко бывает так, чтобы пользователь видел сразу все тысячи примитивов, а если бывает, то эта задача требует отдельного решения) и рисует только их.
Но представим себе противоположную ситуацию: сцена состоит из небольшого числа очень больших примитивов, включающих десятки тысяч пикселей. Скорость отрисовки примитива резко снижается, даже если видима только часть большого примитива. О скорости масштабирования не приходится и говорить. В своих блогах разработчики Qt Graphics View пишут о том, какая это сложная задача – обработка тысяч пикселей и как много они делают для того, чтобы ее ускорить. Обычно, такое многословие свидетельствует об одном: разработчики признают существования проблемы, но достойного решения у них нет. Читать дальше…



Я на Google+