Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2004.08.29;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.073 c
14-1092287200
syte_ser78
2004-08-12 09:06
2004.08.29
writeln в кодировку win


3-1091687013
ydv
2004-08-05 10:23
2004.08.29
Размерность первичного ключа


6-1085536096
Пиво
2004-05-26 05:48
2004.08.29
Помогите сделать отправку письма в консольном приложении


9-1084289550
AlexRus
2004-05-11 19:32
2004.08.29
Проблема с ориентацией объекта в трехмерном пространстве


14-1091325957
Думкин
2004-08-01 06:05
2004.08.29
С днем рождения! 1 августа





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский