![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
Вот такая задача: есть двумерный массив-карта и нада по нему двигать кучу других точек
если всё сразу прорисовывать по пикселям, то ето долго. Как сделать чтоб быстрей работало? ![]() Добавлено @ 20:43 Всё что я пробьовал с сanvas работает очень долго, может не через сanvas это можно делать? ![]() |
|||
|
||||
valex13 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 243 Регистрация: 29.1.2003 Где: Иркук. область, г . Иркутск Репутация: нет Всего: 1 |
Попробуй через WINAPI, хотя может быть дело не в Cаnvas. Ты код выложи.
|
|||
|
||||
kruchinin |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 19.4.2003 Репутация: нет Всего: нет |
необходимо подключать DirectDraw для этой задачи, т.к. Canvas использует GDI функции, а они очень медленные.
|
|||
|
||||
Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
kruchinin , а не можешь чего-нибудь про DirectDraw расказать показать?
![]() |
|||
|
||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 25 Всего: 232 |
Elfet, а что разве BitBlt (или DrawState с DST_BITMAP) работает медленно ?... ИМХО, нет.
Можно сделать так: создать Bitmap, получить доступ к его пикселам в виде двухмерного массива цветов (COLORREF'ов), и обработав этот массив нужным образом (подвигав точки, и т.п.) - применить его на Bitmap, после чего вывести Bitmap на canvas функцией BitBlt или DrawState. Способ, как получить доступ к пикселам как двумерному массиву, и как применить массив обратно на Bitmap - есть в нашем FAQ по C++ (функции GetBitmapPixels / SetBitmapPixels). -------------------- ![]() |
|||
|
||||
Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
mr.DUDA , чего-та я там ничего не нашёл
![]() ![]() |
|||
|
||||
kruchinin |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 19.4.2003 Репутация: нет Всего: нет |
что конкретно на DirectDraw?
в чем конкретно состоит задача? Надо ли приложение делать на полный экран или в окне? будешь ли использовать другие объекты Builderа? |
|||
|
||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 25 Всего: 232 |
Вот и пример: http://forum.vingrad.ru/index.php?showtopi...ndpost&p=144484 -------------------- ![]() |
|||
|
||||
Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
mr.DUDA , успасибо!
![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |