Форум: "KOL";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
ВнизGDI Анимация в kol-e Найти похожие ветки
← →
puky (2003-11-07 22:13) [0]Кто нибудь делал анимацию на коле? Без direct-a и OpenGl-a, только на gdi.
← →
puky (2003-11-07 22:13) [0]Кто нибудь делал анимацию на коле? Без direct-a и OpenGl-a, только на gdi.
← →
SPeller © (2003-11-08 06:47) [1]Анимация разная бывает. Ты про какую именно?
← →
SPeller © (2003-11-08 06:47) [1]Анимация разная бывает. Ты про какую именно?
← →
puky (2003-11-08 12:38) [2]Перемещение и изменение размеров больших(800-600) картинок (5-20 штук).
← →
puky (2003-11-08 12:38) [2]Перемещение и изменение размеров больших(800-600) картинок (5-20 штук).
← →
SPeller © (2003-11-08 13:40) [3]Тогда забудь про GDI.
← →
SPeller © (2003-11-08 13:40) [3]Тогда забудь про GDI.
← →
puky (2003-11-08 14:13) [4]DirectX поможет?
← →
puky (2003-11-08 14:13) [4]DirectX поможет?
← →
Vladimir Kladov (2003-11-08 15:41) [5]Чушь. В оконном режиме директ-Х медленнее, чем GDI. Загрузите мой EmuZWin, и посмотрите, что он может в окне, развернутом на весь экран. Анимация идет 50 кадров в секунду без проблем.
← →
Vladimir Kladov (2003-11-08 15:41) [5]Чушь. В оконном режиме директ-Х медленнее, чем GDI. Загрузите мой EmuZWin, и посмотрите, что он может в окне, развернутом на весь экран. Анимация идет 50 кадров в секунду без проблем.
← →
puky (2003-11-08 17:15) [6]Хорошо, как тогда делать отрисовку/обновление картинки? по таймеру, в триде, в цикле?
← →
puky (2003-11-08 17:15) [6]Хорошо, как тогда делать отрисовку/обновление картинки? по таймеру, в триде, в цикле?
← →
SPeller © (2003-11-08 17:35) [7]Тогда почему фильмы с DirectDraw-ускорением рисуются гораздо быстрее, чем без него?
← →
SPeller © (2003-11-08 17:35) [7]Тогда почему фильмы с DirectDraw-ускорением рисуются гораздо быстрее, чем без него?
← →
Vladimir Kladov (2003-11-08 18:03) [8]а запустите фильм на видеокарте без ускорителя. Или просто на слабой карте, с 16 метрами на борту и меньше. Правда, сейчас уже слабой считают 32 метра и меньше :)
И вообще, я про оконный режим. Если в полном экране можно хотя бы выполнять отрисовку в теневую страницу, и потом делать обмен, то да, ускорение будет. А если нет, то откуда оно возьмется, ускорение? В оконном режиме эта операция недоступна. Может на новых картах это есть, на старых - точно нет.
← →
Vladimir Kladov (2003-11-08 18:03) [8]а запустите фильм на видеокарте без ускорителя. Или просто на слабой карте, с 16 метрами на борту и меньше. Правда, сейчас уже слабой считают 32 метра и меньше :)
И вообще, я про оконный режим. Если в полном экране можно хотя бы выполнять отрисовку в теневую страницу, и потом делать обмен, то да, ускорение будет. А если нет, то откуда оно возьмется, ускорение? В оконном режиме эта операция недоступна. Может на новых картах это есть, на старых - точно нет.
← →
SPeller © (2003-11-08 18:54) [9]
> Если в полном экране можно хотя бы выполнять отрисовку в
> теневую страницу, и потом делать обмен, то да, ускорение
> будет. А если нет, то откуда оно возьмется, ускорение? В
> оконном режиме эта операция недоступна. Может на новых картах
> это есть, на старых - точно нет.
На совсем старых картах - да, такая функция (overlay вроде бы) не доступна и прироста скорости, возможно, нет. Но почти на всех не сильно древних картах она есть. Там не важно оконный режим или нет - видеокарте нужно лишь цвет, поверх которого выводить нужное нам изображение. Я сам как-то ради прикола смотрел фильм в Paint"е :)
← →
SPeller © (2003-11-08 18:54) [9]
> Если в полном экране можно хотя бы выполнять отрисовку в
> теневую страницу, и потом делать обмен, то да, ускорение
> будет. А если нет, то откуда оно возьмется, ускорение? В
> оконном режиме эта операция недоступна. Может на новых картах
> это есть, на старых - точно нет.
На совсем старых картах - да, такая функция (overlay вроде бы) не доступна и прироста скорости, возможно, нет. Но почти на всех не сильно древних картах она есть. Там не важно оконный режим или нет - видеокарте нужно лишь цвет, поверх которого выводить нужное нам изображение. Я сам как-то ради прикола смотрел фильм в Paint"е :)
← →
Gandalf © (2003-11-08 19:07) [10]GDI может не так мало как кажется, это точно. А метод простой Draw :) Чтобы не моргало буферизируй. А вообще тебе скорей в форум игры надо.
← →
Gandalf © (2003-11-08 19:07) [10]GDI может не так мало как кажется, это точно. А метод простой Draw :) Чтобы не моргало буферизируй. А вообще тебе скорей в форум игры надо.
← →
puky (2003-11-08 19:14) [11]Так нет еще форума "Игры на Kol-e" :)
← →
puky (2003-11-08 19:14) [11]Так нет еще форума "Игры на Kol-e" :)
← →
Gandalf © (2003-11-08 19:29) [12]Есть просто игры - ничего KOL специфичного в целом тут нет.
← →
Gandalf © (2003-11-08 19:29) [12]Есть просто игры - ничего KOL специфичного в целом тут нет.
← →
puky (2003-11-09 13:30) [13]
Чушь. В оконном режиме директ-Х медленнее, чем GDI. Загрузите мой EmuZWin, и посмотрите, что он может в окне, развернутом на весь экран. Анимация идет 50 кадров в секунду без проблем.
Можно пример отрисовки?
← →
puky (2003-11-09 13:30) [13]
Чушь. В оконном режиме директ-Х медленнее, чем GDI. Загрузите мой EmuZWin, и посмотрите, что он может в окне, развернутом на весь экран. Анимация идет 50 кадров в секунду без проблем.
Можно пример отрисовки?
← →
Vladimir Kladov (2003-11-09 13:43) [14]Хотя бы мой компонент для отрисовки GIF. Это на самом деле, мало имеет отношения к KOL. Это просто программирование графики. Хоть на чем, от ассемблера до бэйсика.
← →
Vladimir Kladov (2003-11-09 13:43) [14]Хотя бы мой компонент для отрисовки GIF. Это на самом деле, мало имеет отношения к KOL. Это просто программирование графики. Хоть на чем, от ассемблера до бэйсика.
← →
puky (2003-11-09 13:56) [15]Быстрее bitblt есть что-нибудь?
← →
puky (2003-11-09 13:56) [15]Быстрее bitblt есть что-нибудь?
← →
Gandalf © (2003-11-09 14:27) [16]2puky:
Не сюда! В целом для GDI можно сказать что нет.
← →
Gandalf © (2003-11-09 14:27) [16]2puky:
Не сюда! В целом для GDI можно сказать что нет.
← →
Sapersky © (2003-11-11 10:52) [17]перемещение и изменение размеров больших(800-600) картинок (5-20 штук)
DirectX потянет такое в случае наличия приличной видеокарты (с ходу сказать сложно, но, наверное, начиная с TNT). GDI - не потянет в любом случае. Выбирайте :)
В оконном режиме директ-Х медленнее, чем GDI.
Тормоза в оконном режиме DirectDraw могут быть в том случае, если задний буфер (теневая страница, как вы его называете), не влезает в видеопамять, помещается в системную и на каждом кадре перегоняется через шину (скорее всего PCI, AGP-карты обычно имеют больше памяти) в видеокарту.
Например, если этой памяти 1 мб и установлено разрешение 800*600*16. Сколько остаётся под буфер - считайте сами. В этом случае лучше не создавать буфер, а рисовать прямо на первичную поверхность. В параметрах Blt есть специальный флаг для устранения расхождения (DDBLT_NOTEARING или как-то так). Я пробовал - вполне прилично, особого мерцания нет.
Ещё вариант - если задний буфер поместился в видеопамяти, но вы его блокируете на каждом кадре (Lock) и заполняете вручную. Это медленно даже на GeForce, DirectDraw просто на такое не рассчитан. Он рассчитан на аппаратные манипуляции с изображениями, а если нужно часто блокировать - создавайте поверхность в системной памяти и потом оттуда аппаратно (если видео может) перегоняйте в видеопамять. Конечно, если видеокарта стоит на PCI - это будет медленно; и GDI, ВОЗМОЖНО, будет быстрее. Но у какого процента пользователей остались PCI-карты с 1 Мб памяти? Если вы в их рядах - тогда конечно :), но можно же подумать и об остальных 99%...
Если в полном экране можно хотя бы выполнять отрисовку в теневую страницу, и потом делать обмен, то да, ускорение будет. А если нет, то откуда оно возьмется, ускорение?
Даже PCI-ные S3 Trio и Virge (да и любая другая совместимая с windows видеокарта) могут хранить поверхности в видеопамяти (если её хватает) и делать аппаратный блиттинг. Что в полноэкранном, что в оконном режиме. Проблемы могут быть по указанным ранее причинам.
На совсем старых картах - да, такая функция (overlay вроде бы) не доступна и прироста скорости, возможно, нет. Но почти на всех не сильно древних картах она есть.
Точно, на Trident 3D, на Rage 3D есть - и та, и другая порядочное барахло (у первой "3D" фактически только в названии, у второй - на уровне Voodoo 1), а вот поди ж ты... На TNT и далее - само собой. К тому же оверлеи нужны (точнее, фактически могут использоваться) только для фильмов или режима overlay mode WinAmp"овского AVS.
← →
Sapersky © (2003-11-11 10:52) [17]перемещение и изменение размеров больших(800-600) картинок (5-20 штук)
DirectX потянет такое в случае наличия приличной видеокарты (с ходу сказать сложно, но, наверное, начиная с TNT). GDI - не потянет в любом случае. Выбирайте :)
В оконном режиме директ-Х медленнее, чем GDI.
Тормоза в оконном режиме DirectDraw могут быть в том случае, если задний буфер (теневая страница, как вы его называете), не влезает в видеопамять, помещается в системную и на каждом кадре перегоняется через шину (скорее всего PCI, AGP-карты обычно имеют больше памяти) в видеокарту.
Например, если этой памяти 1 мб и установлено разрешение 800*600*16. Сколько остаётся под буфер - считайте сами. В этом случае лучше не создавать буфер, а рисовать прямо на первичную поверхность. В параметрах Blt есть специальный флаг для устранения расхождения (DDBLT_NOTEARING или как-то так). Я пробовал - вполне прилично, особого мерцания нет.
Ещё вариант - если задний буфер поместился в видеопамяти, но вы его блокируете на каждом кадре (Lock) и заполняете вручную. Это медленно даже на GeForce, DirectDraw просто на такое не рассчитан. Он рассчитан на аппаратные манипуляции с изображениями, а если нужно часто блокировать - создавайте поверхность в системной памяти и потом оттуда аппаратно (если видео может) перегоняйте в видеопамять. Конечно, если видеокарта стоит на PCI - это будет медленно; и GDI, ВОЗМОЖНО, будет быстрее. Но у какого процента пользователей остались PCI-карты с 1 Мб памяти? Если вы в их рядах - тогда конечно :), но можно же подумать и об остальных 99%...
Если в полном экране можно хотя бы выполнять отрисовку в теневую страницу, и потом делать обмен, то да, ускорение будет. А если нет, то откуда оно возьмется, ускорение?
Даже PCI-ные S3 Trio и Virge (да и любая другая совместимая с windows видеокарта) могут хранить поверхности в видеопамяти (если её хватает) и делать аппаратный блиттинг. Что в полноэкранном, что в оконном режиме. Проблемы могут быть по указанным ранее причинам.
На совсем старых картах - да, такая функция (overlay вроде бы) не доступна и прироста скорости, возможно, нет. Но почти на всех не сильно древних картах она есть.
Точно, на Trident 3D, на Rage 3D есть - и та, и другая порядочное барахло (у первой "3D" фактически только в названии, у второй - на уровне Voodoo 1), а вот поди ж ты... На TNT и далее - само собой. К тому же оверлеи нужны (точнее, фактически могут использоваться) только для фильмов или режима overlay mode WinAmp"овского AVS.
Страницы: 1 вся ветка
Форум: "KOL";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
Память: 0.55 MB
Время: 0.035 c