![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вывод графики - всё, что можно [Delphi, Windows]
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.