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

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

Вывод графики - всё, что можно [Delphi, Windows]


Страницы:   1 2

Mihey ©   (2004-05-07 00:28:00) 

Задача как раз для игр. Представьте, что у вас любым способом загружена в память картинка, большая, пускай 1024х768 или 800х600 и вам в оконном режиме её нужно сначала просто выводить, а потом на неё ещё одну картинку с блендингом, причём всё надо делать максимлаьно быстро. Простая игровая задача.

Вопрос. Перечислите все возможные способы, все возможные средства, причём самые быстрые и примерно сравните их скорость.

Первый мой способ - вывод при помощи Canvas.Draw и блендинг через Canvas.Pixels вручную.


KilkennyCat   (2004-05-12 04:50:00) [1]

Но, извиняюсь, мне лениво проводить тест :) Для себя я определил уже, что работа в DirectX мне вполне достаточна.


KilkennyCat   (2004-05-12 04:48:00) [2]

[18] Thor ©   (09.05.04 18:36)

> Mihey ©   (09.05.04 11:37) [17]

скорость 2D вообще очень трудно оценить - все зависит от конкретного экземпляра видеокарты, монитора, и вообще всего остального компьютера.


Ну почему же... если делать, как просит Mihey, то можно получить относительные данные, ведь программы тестироваться будут на одном (у каждого) компьютере.


miek   (2004-05-12 00:35:00) [3]

>скорость 2D вообще очень трудно оценить

Тем более, что оченивать ее обычно ни к чему, потому что скорости хватает. Ну, GDI не в счет, конечно.


Mihey   (2004-05-09 20:05:00) [4]

А по подробнее, от чего зависит и как в общих чертах. Например, с монитором не очень понятно.


Thor   (2004-05-09 18:36:00) [5]


> Mihey ©   (09.05.04 11:37) [17]

скорость 2D вообще очень трудно оценить - все зависит от конкретного экземпляра видеокарты, монитора, и вообще всего остального компьютера.

об этом в каждом обзоре видеокарт на ixbt.com пишут :)


Mihey   (2004-05-09 11:37:00) [6]

2 Cyborg:

По-моему для данной задачи можно вполне определить.


cyborg   (2004-05-09 09:47:00) [7]

[15] Mihey ©   (08.05.04 23:09)
как ты себе это представляешь сравнение скоростей 3Д и 2Д? Это как сравнение кораблей с подводными лодками, что быстрее то и будем строить?


Mihey   (2004-05-08 23:09:00) [8]

2 AxxxE:

Анализ я не просил, просил простой вывод картинки в OpenGL, DirectX с Direct3d и DirectDraw c FPS. Это сложно? Долго? Муторно?


AxxxE   (2004-05-08 22:20:00) [9]

А может тебе ещё и ключ от квартиры? Проведите ему анализ, напишите примеры...


Mihey   (2004-05-08 19:18:00) [10]

Отлична.


Mihey   (2004-05-08 19:18:00) [11]

И всё же хотелось бы увидеть код и готовые откомпилированные примеры.


miek   (2004-05-08 10:01:00) [12]

>То есть, вывод через DirectX - самое быстрое из существующих средств вообще

Вообще, да.

С чисто теоретической точки зрения - есть в API возможность посылать команды видеоадапетру напрямую, но что с этого можно состричь, вопрос темный!


Mihey   (2004-05-07 23:15:00) [13]

То есть, вывод через DirectX - самое быстрое из существующих средств вообще?


Landgraph   (2004-05-07 23:03:00) [14]

Самое быстрое, конечно, прямое обращение к видеопамяти... Но, ОСи, если я не ошибаюсь, сейчас не дают доступ к видеопамяти, только через драйвера. Так что лучше всего OGL, либо DX. По моему через DX быстрее будет, но через OGL качественнее картинка.


miek   (2004-05-07 22:03:00) [15]

2Mihey: Да, я уверен на 90%. Речь идет о переносе из системной памяти в видео, не так ли? 3D не катит.


Mihey   (2004-05-07 20:04:00) [16]

Я имел ввиду всё - от графичеких пакетов до поддержки аппаратного ускорения, и в частности, аспекты этого дела. В частности, сравнить что да как с какой скоростью. Вы можете написать простейшие примеры этого дела на OpenGL, DirectX с Direct3D или может ещё быстрее на чём-нибудь????

2 miek:

Допустим, карта поддерживает Direct3d. Всё равно ли DirectDraw будет быстрее?


AxxxE   (2004-05-07 16:25:00) [17]

А ещё лучше OpenGL или Direct3D - там это поддерживается на аппаратном уровне.


miek   (2004-05-07 16:16:00) [18]

Думаю, быстрее всего будет через DDraw взять GetGDISurface и отрисовать на нем вручную.


Думкин   (2004-05-07 11:42:00) [19]

> MsShtaer   (07.05.04 11:35) [3]

Блин, вот никогда не думал что придется это делать.
> Mihey ©   (07.05.04 00:28)  
Формулируй в следующий раз проще, а то сейчас тебя тут по осточкам разберут. %-)

> MsShtaer   (07.05.04 11:35) [3]
Более чем наверняка, это приходило в голову автора сабжа. И не только это. Но он просит не просто методов. Но и чисел, насколько я понял.
Реализуй способы, сравни(на своем ПК) и выложи результаты.


MsShtaer   (2004-05-07 11:35:00) [20]

Ребя! А использовать Direct Draw вам в голову не приходило. Я сверял скорость, ну раз в 20 быстрее ScanLine.


Страницы:   1 2

Наверх

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