Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.02.2009, 14:59   #11
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
По умолчанию

mflat, спасибо конечно.....

Я писал:
Цитата:
Многое перепробовал, но самый лучший полученный результат не совсем устраивает
Вот это как раз он и есть... =))

...а "Narod.Ru" и все дочерние у мня так и не работают
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Старый 08.02.2009, 15:01   #12
mflat
Пользователь
 
Регистрация: 06.02.2009
Сообщений: 71
По умолчанию

Приведи, пожалуйста, код, который ты уже написал для вывода изображения.
╓-----┴-----╜
mFlat
mflat вне форума Ответить с цитированием
Старый 08.02.2009, 15:08   #13
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
По умолчанию

Да тот "самый быстрый" практически такой же..... Только формулу добавил...
Знает ли кто ещё более быстрый способ..?


Я понимаю что при подобных способах скорость сильно зависит от сложности вычисления по формуле и размере изображения...
Но может можно как-то заставить кадры меняться с частотой не уступающей показу видео..?
I am the First of Cyber Evolution...
I am the First to Program your Future...

Последний раз редактировалось DomiNick; 08.02.2009 в 15:32.
DomiNick вне форума Ответить с цитированием
Старый 10.02.2009, 00:01   #14
goblinyara
Форумчанин
 
Аватар для goblinyara
 
Регистрация: 02.01.2009
Сообщений: 340
По умолчанию

хммм... ну чтобы с частотой, не уступающей видео - работайте с OpenGL или DirectX....
DelphiWorld 6. Скачай, поставь, и будет тебе счастье=)
Программирование, как и любовь -- одно слово, за которым скрывается бесконечное множество занятий.
goblinyara вне форума Ответить с цитированием
Старый 10.02.2009, 00:09   #15
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
По умолчанию

До "OpenGL" и "DirectX" мне ещё далеко... Я пока даже этих "дискрипторов" не освоил как следует... Сам по книгам учусь...

Точнее пытаюсь... *

Ну может хоть кто-то сказать какой самый быстрый метод смены свежесгенерированных кадров на холсте?


Методом "TBitmap.ScanLine[i]" с "DelphiWorld" в принципе довольно быстро, но только для холста 320х240... А на весь мой полный экран 1680х1050 - просто кошмар...
I am the First of Cyber Evolution...
I am the First to Program your Future...

Последний раз редактировалось DomiNick; 10.02.2009 в 00:22. Причина: ...дополнил...
DomiNick вне форума Ответить с цитированием
Старый 10.02.2009, 13:22   #16
mflat
Пользователь
 
Регистрация: 06.02.2009
Сообщений: 71
По умолчанию

Пробуй создать Bitmap просто. В Bitmap всё рисовать. А потом через Canvas.Draw(0,0,Bitmap) пробуй.
╓-----┴-----╜
mFlat
mflat вне форума Ответить с цитированием
Старый 10.02.2009, 15:06   #17
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

DomiNick, готовый буферный кадр выводится прям на форму через BitBlt(), 30 кадров в секунду обеспечивает всегда, у меня 64 кадра, ...скорость зависит от обработки в цикле, что происходит при построении кадра в буфере? ...какими методами накладываются или рисуются изображения?
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Старый 10.02.2009, 19:48   #18
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
По умолчанию

mflat,
Цитата:
Пробуй создать Bitmap просто. В Bitmap всё рисовать. А потом через Canvas.Draw(0,0,Bitmap)
Так ты же сам статью "Как быстро выводить графику (a то Canvas очень медленно работает)" цитировал... Там так и есть...

Хотя, когда я экспериментировал с различными способами рисования на TImage видимых результатов это не дало...


Beermonza,
Цитата:
через BitBlt()
Не знаю такого... Спасибо, поищу что это за зверь
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Старый 10.02.2009, 21:00   #19
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

DomiNick, это функция из библиотеки GDI, Виндовоз через нее отрисовывает. Работает просто:

Код:
var
  DCs: HDC;

...

// контекст главной формы
DCs := GetDC(Form1.Handle);
// отрисовка в форму
BitBlt(DCs, 0, 0, Form1.Width, Form1.Height, {битмап}.Canvas.Handle, 0, 0, SRCCOPY);
// освобождаем контекст, убиваем
ReleaseDC(Form1.Handle, DCs);
DeleteDC(DCs);
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Старый 10.02.2009, 22:06   #20
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
По умолчанию

Способ интересный... Благодарю... Но ускорилось не сильно...

Эх... Вероятнее всего просто сам кадр слишком долго прорисовывается...
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отображение скрытых файлов и папок и отображение розширения всех файлов beegl Общие вопросы Delphi 10 14.12.2008 22:02
Неправильное считывание текстуры. Все размытою GamerSuper Gamedev - cоздание игр: Unity, OpenGL, DirectX 15 08.02.2008 12:37
Неправильное отображение шрифта chingiz Общие вопросы Delphi 2 25.01.2008 18:47
Canvas Zven Общие вопросы Delphi 9 06.12.2007 10:40