Форум: "Основная";
Текущий архив: 2006.04.16;
Скачать: [xml.tar.bz2];
ВнизБыстро выполнение FillRect Найти похожие ветки
← →
Алик (2006-03-06 18:50) [0]Добрый день,
Подскажите плиз как наиболее быстро выполить процедуру FillRect, при прорисовке прямоугольника на TCanvas.
Требуется зарисовать мозаику из большого количества квадратиков на TCanvas.
← →
MBo © (2006-03-06 18:56) [1]FillRect выполняется быстро.
← →
Алик (2006-03-06 19:05) [2]Дело в том, что TCanvas у меня находится в PaintBox, а PaintBox в TScrollBox.
И когда я прокручиваю полосы прокрутки ScrollBox моя мозаика из нескольких тысячей квадратиков заметно тормозит при прорисовке методом FillRect.
Можно ли тут что-нибудь сделать? Может быть как то через DirectDraw?
← →
wicked © (2006-03-06 20:04) [3]
> Можно ли тут что-нибудь сделать? Может быть как то через
> DirectDraw?
а немного подумать?.... забить "квадратиками" какой-нибудь Bitmap и выводить его скопом, когда нужно.... еще более дешевое и сердитое решение - поставить TImage вместо PaintBox-а....
← →
Алик (2006-03-06 21:03) [4]Да этот вариант хороший я рисовал Bitmap а затем копировал на Canvas на событие OnPaint. Скорость была хорошая, прорисовка совершенно не тормозила.
Но у меня возникла другя проблема, размер моего Bitmap мог доходить до десятков тысяч пиксел в длину и ширину, а если брать 8 или 16 битную палитру, то вся оперативка а следом проц уходили в глубокий нокаут на секунд 20 - 30. То есть потребляется порядка 100 мегабайт оперативки.
К тому же иногда приходится открывать несколько подобных карт одновременно.
Поэтому я отказался от Bitmapa а впоролся в скорость прорисовки моих квадратиков.
Где выигрываешь в другом проигрываешь и наоборот.
Так что мне можно сделать????
← →
wicked © (2006-03-06 21:14) [5]
> Где выигрываешь в другом проигрываешь и наоборот.
>
> Так что мне можно сделать????
определять, какие квадратики будет видно, и рисовать только их....
просто подозреваю, что сейчас это не так и рисуются все....
← →
Алик (2006-03-12 15:11) [6]А как это сделать, чтобы рисовалась только видимая часть Canvasa при передвижении рычажка ScrollBox ?
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2006.04.16;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.04 c