LINUX.ORG.RU

Еще один вопрос про GTK


0

0

Спасибо за подсказку про gtk-demo. Для pygtk я ее активно использовал и думал что она только для питона есть.

Еще один архитектурный вопрос. Допустим есть приложение типа векторнрго графического редактора. Все данные для отрисовки в событии expose пстоянно доступны и возможна быстрая отрисовка прямо внутри обработчика события.

Все примеры (в том числе и gtk-demo) используют pixbuf, в который рисуют, а в expose производят только копирование его на окно. При этом появляются явные недостатки - при изменении размеров окна нужно пересоздавать pixbuf, нужно постоянно поддерживать его содержимое в актуальном состоянии или каждый раз стирать все и перерисовывать.

Вопрос: насклько сильно неправильно рисовать прямо в обработчике expose?

Небольшой тест (заполение в цикле всего поля горищонтальными и вертикальными линиями с разными шагами, в том числе и с единичным) не выявил большой разницы ни в ресурсах процессора ни в скорости работы программы. Прав-ли я?

★★★★

Re: Еще один вопрос про GTK

google: double buffering

Наверное должно прояснить ситуацию.

anonymous ()
Ответ на: Re: Еще один вопрос про GTK от anonymous

Re: Еще один вопрос про GTK

Теорию я и сам знаю. Опыт подсказывает, что в реальных условиях результат примерно одинаковый (все рисуется и так достатоно быстро).

В основном меня интересовало видел-ли кто-нибудь в серьезных проектах вариант без pixmap'a.

alexru ★★★★ ()

Re: Еще один вопрос про GTK

:) Я не могу сказать, что у меня все супер серьезно, но все-таки опыт показывает, что когда машина нагружена сильно и нужно таскать окно с приложением, то если нарисовано напрямую - картинка теряется на какое-то время, а если с пиксбуфом то все гладко. Если не очень важно, то можно рисовать напрямую...

Эффект замечен, как в GTK2 так и в QT3

petrosha ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.