Надо написать компонент для просмотра видеоархивов. Должен он в реальном времени отслеживать положение видео на «временной линии», то есть рисовать надо будет много и часто. Первая моя попытка была с использованием пополам QPainter'a и чистого OpenGL api, но в результате криворукости компонент не хило жрёт проц во время проигрывания. Сейчас решил ещё раз подумать над реализацией в целом, решил попробовать QGraphicsView со всеми вытекающими и QGLWidget в качестве viewport'a, написал маленькую демку, рисующую линейку в пределах и за пределами вьюпорта, чтобы её можно было потягать.
.cpp
http://paste.org.ru/?51huds
.h
http://paste.org.ru/?0lyk0v
Так вот эта простенькая штука жрёт до десяти процентов от интеловского 2.4 code2 duo при наличии nvidia 9600 с блобом. Теперь вопрос, есть ли возможность заставить QGraphicsView не есть лишних ресурсов на скролле или таки надо заняться велосипедостроением и пилить всё самому(под пилением подразумевается оптимизация старого уже набыдлокоденного)?
Отсылкам на любые примеры или доки буду неописуемо рад :)