Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.29;
Скачать: CL | DM;

Вниз

Вывод графики - всё, что можно   Найти похожие ветки 

 
Mihey ©   (2004-05-07 00:28) [0]

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

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

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


 
Proger   (2004-05-07 11:04) [1]

А мой способ пошустрее: Вывод при помощи BitBlt и блендинг через
ScanLine вручную.


 
Думкин ©   (2004-05-07 11:11) [2]

> Proger   (07.05.04 11:04) [1]

Он это знает. Он просит предлагать и сравнивать на скорость, как в одной из его веток по доступу к пикселам, кажется.


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

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


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

> MsShtaer   (07.05.04 11:35) [3]

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

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


 
miek ©   (2004-05-07 16:16) [5]

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


 
AxxxE ©   (2004-05-07 16:25) [6]

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


 
Mihey ©   (2004-05-07 20:04) [7]

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

2 miek:

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


 
miek ©   (2004-05-07 22:03) [8]

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


 
Landgraph ©   (2004-05-07 23:03) [9]

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


 
Mihey ©   (2004-05-07 23:15) [10]

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


 
miek ©   (2004-05-08 10:01) [11]

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

Вообще, да.

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


 
Mihey ©   (2004-05-08 19:18) [12]

Отлична.


 
Mihey ©   (2004-05-08 19:18) [13]

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


 
AxxxE ©   (2004-05-08 22:20) [14]

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


 
Mihey ©   (2004-05-08 23:09) [15]

2 AxxxE:

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


 
cyborg ©   (2004-05-09 09:47) [16]

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


 
Mihey ©   (2004-05-09 11:37) [17]

2 Cyborg:

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


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


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

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

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


 
Mihey ©   (2004-05-09 20:05) [19]

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


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

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

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


 
KilkennyCat ©   (2004-05-12 04:48) [21]

[18] Thor ©   (09.05.04 18:36)

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

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


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


 
KilkennyCat ©   (2004-05-12 04:50) [22]

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



Страницы: 1 вся ветка

Текущий архив: 2004.08.29;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.031 c
1-1092300157
WondeRu
2004-08-12 12:42
2004.08.29
Классы!


3-1091775556
ydv
2004-08-06 10:59
2004.08.29
Объединение таблиц


1-1092504966
начинающий
2004-08-14 21:36
2004.08.29
Матрица


1-1092389979
Чайник
2004-08-13 13:39
2004.08.29
StringGrid


14-1092041178
inic
2004-08-09 12:46
2004.08.29
В Delphi была горячая клавиша для вставки в редактор