Форум: "Игры";
Текущий архив: 2004.04.25;
Скачать: [xml.tar.bz2];
ВнизМетоды вывода изображения на экран Найти похожие ветки
← →
Gad © (2003-10-28 12:24) [0]Здраствуйте... Вот решил немного проконсультироваться...
Используя обычный вывод на Canvas при помощи CopyRect метод довольно простой но ресурсоемкий т.е. если на экране суетяться примерно 10 - 15 спрайтов машина начинает задыхаться....
Может кто занимался подобными проблемами и поделиться опытом работы?
← →
Darthman © (2003-10-28 13:06) [1]1) BitBlt будет быстрее. DirectDraw будет еще быстрее работать. Вообще канвас - медленная штука. Через DC куда быстрее все работает.
← →
Gad © (2003-10-28 15:26) [2]Ну то что используя библиотеки DirecX все быстро работает я знаю.... А если использовать исключительно стандартные средства?
← →
Mihey © (2003-10-28 16:19) [3]>А если использовать исключительно стандартные средства?
Исключительно стандартные - BitBlt. Если же средства, которые не задействуют DirectX или OpenGL, то какие-нибудь дополнительные библиотеки, типа очень быстрой Graphic32.
← →
miek © (2003-10-28 16:47) [4]Graphi32 - плохой пример.
Хотя бы FastLib или SpriteUtils
← →
Mihey © (2003-10-28 17:13) [5]>Хотя бы FastLib или SpriteUtils
Они медленнее.
← →
Darthman © (2003-10-28 17:23) [6]Win32API надо использовать. В частности BitBlt и HDC в общем.
← →
miek © (2003-10-28 23:52) [7]2Mihey: Не гони. Я смотрел и то, и другое.
← →
Думкин © (2003-10-29 07:08) [8]И под 2000 и выше все придет в Директ.
← →
Gad © (2003-10-29 09:15) [9]Значит мы имеем:
FastLib
SpriteUtils
Graphic32
А нельзя ли привести примеры производительности?
Ну скажем на примере: Есть поле 800х600 (поле не пустое а на нем картинка аналогичного размера) на него выводиться 5 независимых друг от друга картинок с периодисностью 5 милесекунд.
И еще не могли бы вы написать ссылочки на вышеописаные библиотеки?
Разве что кроме SpriteUtils ее я уже нашел....
← →
miek © (2003-10-29 23:49) [10]Примеров нет. Здесь где-то лежит Мироводина статья о сравнении библиотек, но она старая и сырая. Если скажешь конкретно, что тебя интересует, можно сделать программу-тест. Пока что я сравнивал с DibUltra и прикинул, что SpriteUtils раза в полтора быстрее на примитивах.
← →
Mihey © (2003-10-30 00:24) [11]>2Mihey: Не гони. Я смотрел и то, и другое.
Боюсь, вы не правы. Надо делать тест.
← →
Mihey © (2003-10-30 00:35) [12]http://www.g32.org
P.S.: Дайте ссылку на SpriteUtils.
← →
Gad © (2003-10-30 10:40) [13]SpriteUtils лежит сдесь в кладовке...
← →
Mihey © (2003-10-30 18:50) [14]Обрыл всю кладовку и поиск - не нашёл.
← →
Andry (2003-10-30 21:26) [15]Можно попробовать так: если на канву выводится несколько независимых спрайтов (предположим анимаций), то можно сначала вычслить следующий кадр для рисования каждой анимации а потом все 20-30 штук нарисовать сразу. Я так делал и не лагало до 200 штук.
← →
Mihey © (2003-10-30 22:14) [16]2 Andry:
Так, в принципе, всегда и делается.
← →
miek © (2003-10-30 23:57) [17]2Andry: Реального выигрыша не будет. Узкое место - шина. Ее факирскими трюками не расширишиь.
2Mihey:
www.miek.narod.ru/spriteutils.zip
← →
Goorus (2003-10-31 03:32) [18]По моему это уже предложил Andry, но всё-таки. Созхдаешь ещё один Canvas(или можно TBitmap), на нем всё рисуешь, а потом его выводишь. В итоге ты выводишь изображение только один раз, намного быстрее.
Страницы: 1 вся ветка
Форум: "Игры";
Текущий архив: 2004.04.25;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.035 c