|
#1
|
||||
|
||||
Быстрое рисование
Вот известно что Canvas - тормоз, тогда есть ли в WinAPI быстрый способ? те же Windows.MoveTo и Windows.LineTo (ну и остальное что там) они же и написаны в процедура канвы. канву так тормозит Event'ы в VCL?
TAleD = class(TUser) public function HelpMe(ASubject, ARequest: String): String; function GiveMeExample(ASubject: String): TStringList; procedure WriteReview(APost: Integer; ADescription: TStringList); end; |
#2
|
|||
|
|||
Цитата:
Для быстрого вывода специально разработаны такие штуки как OpenGL, DirectX. "канву так тормозит Event'ы в VCL?" Нет. Первоначально задумано, что GDI не будет быстрым! Делаем'c разные игры. Искать на glscene.ru |
#3
|
|||
|
|||
Вообще, для большинства рисований скорости канвы вполне достаточно. Ее недостаточно только для игр и видео. Просто надо рисовать не на видимом компоненте, а в специальном буфере, а потом этот буфер целиком выводить на экран быстрым копированием. У меня так одна программа рабтает - момента вывода картинки я просто не вижу. и это на 2ГГц целероне и квстроенной интелевской карточке.
|
#4
|
||||
|
||||
Цитата:
У меня ещё один встречный вопрос, существует GDI+, она может так же быстро рисовать если не использовать антиальясинг и другие эффекты для качества? TAleD = class(TUser) public function HelpMe(ASubject, ARequest: String): String; function GiveMeExample(ASubject: String): TStringList; procedure WriteReview(APost: Integer; ADescription: TStringList); end; |
#5
|
|||
|
|||
Цитата:
Кстати, вот, почитай "в общих чертах" об оболочке: http://www.rsdn.ru/article/gdi/gdiplus1.xml Делаем'c разные игры. Искать на glscene.ru |
#6
|
||||
|
||||
Вот поводу быстрого рисования через GDI (простой), вот тут довольно долго ребята обсуждали:
http://www.programmersforum.ru/showthread.php?t=338 Метод достаточно интересный рассчитан приемущественно на вывод буфферов (говых картинок, даже с альфаканалом), а не на рисование линий, эллписов и тд. Конечно и примитивы можно рисовать но алгоритм рисования того же эллипса будете делать сами. Способ конечно не лучший, но жутко интересный (у меня даже есть движок недописаный). А почему вы не смотрите в сторону DelphiX? Это не такой уж и плохой набор компонентов, вам не придется сильно заморачиваться по поводу загрузки рисунков и звуков, а так же их вывода/воспроизведения и сможете сосредоточиться сразу на игре, ну а там уже и чего посерьезнее найдете. ...сказал, и загрустил от бесспорной своей правоты |
#7
|
||||
|
||||
Цитата:
м, у кого нибудь есть примеры для этого GDI+? а то там вроде бы всё понятно но ничо не выходит TAleD = class(TUser) public function HelpMe(ASubject, ARequest: String): String; function GiveMeExample(ASubject: String): TStringList; procedure WriteReview(APost: Integer; ADescription: TStringList); end; |