Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Посоветуйте!!!!!!!!!!!


Страницы:   1 2

>>DEATH<< ©   (2007-04-11 14:42:00) 

Вообшем есть tbitmap(битмапка 8х8) и tcanvas надо нарисовафон 80 на 60 из битмап..сделал перебором пикселей но рисуется долго а надо чтобы обновлялось несколько раз в секунду )))


ANTPro   (2007-04-11 23:34:00) [21]

> [11] @!!ex ©   (11.04.07 23:18)

Давай только не впутывай сюда тему VCL и KOL, а то тема на не одну сотню постов : )


> [10] ANTPro ©   (11.04.07 23:15)
> всегда

Возможно не всегда, но я видел пару реализаций на WinAPI и кода не использующего WinAPI. Дык вот WinAPI = 1x , NotWinAPI = 10x.


@!!ex   (2007-04-11 23:18:00) [22]

> [10] ANTPro ©   (11.04.07 23:15)

Ты наверно опечатался и имел ввиду VCL или KOL всгда медленнее собственной не кривой реализации на WinAPI. ;)


ANTPro   (2007-04-11 23:15:00) [23]

> [9] @!!ex ©   (11.04.07 22:18)

API будет всегда медленней собственной (Не кривой : ) реализации.


@!!ex   (2007-04-11 22:18:00) [24]

> поскольку в KOL метод Draw состоит всего из десятка строк

Всяко одна строка быстрее 10. ;)


homm   (2007-04-11 21:53:00) [25]

> А лучше пользоваться BitBlt,Transparent и StretchBlt. Всяко
> быстрее будет работать.

Хотел оспорить эуто утверждение, поскольку в KOL метод Draw состоит всего из десятка строк, но заглянул Graphics.pas и желание опровергать что либо пропало… Там даже BitBlt не используется для случая, когда размеры одинаковые, для всех случаев вызывается StretchBlt. Кашмар в общем :( Чистый API правда быстрее будет.


@!!ex   (2007-04-11 19:19:00) [26]

Двойная буфферизация - наше все.
А лучше пользоваться BitBlt,Transparent и StretchBlt. Всяко быстрее будет работать.


MBo   (2007-04-11 17:56:00) [27]

сделай битмап нужного размера, на него нарисуй все маленькие, потом уже его на Canvas рисуй


>>DEATH<<   (2007-04-11 17:52:00) [28]

мне надо через цикл т.к. на фон используется несколько картинок из array of tbitmap,,bitmap читается с ини файла по такому принципу
arr[map.ReadInteger(inttostr(x)+';'+inttostr(y),'bm',0)]


MBo   (2007-04-11 17:35:00) [29]

var
 b: TBitmap;
begin
 b := TBitmap.Create;
 b.LoadFromFile('e:\5.bmp');
 Canvas.Brush.Bitmap := b;
 Canvas.FillRect(Rect(10, 100, 200, 200));
 b.Free;


>>DEATH<<   (2007-04-11 17:22:00) [30]

быстрее стало но всеравно не одновременно рисуется может еще что посоветуете..


>>DEATH<<   (2007-04-11 17:15:00) [31]


> Непонятно, почему перебором пикселов??
>
> Tcanvas.Draw
>

просто делфу не очень знаю..шас посмотрим что выйдет если делать так как ты сказал


MBo   (2007-04-11 15:15:00) [32]

Непонятно, почему перебором пикселов??

Tcanvas.Draw


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо