Форум: "Media";
Текущий архив: 2004.10.31;
Скачать: [xml.tar.bz2];
ВнизКАК быстрее? Найти похожие ветки
← →
parovoZZ © (2004-08-01 04:34) [0]Что быстрее: пряиое копирование битового массива с помощью блокировки памяти (Lock и UnLock) или функция StretchDIBits()?
← →
cyborg © (2004-08-01 08:16) [1]прямое копирование. StretchDIBits с растяжением рисует вроде.
← →
parovoZZ © (2004-08-01 17:27) [2]Ну, а, в принципе, и хрен с ним, если всего-то 10 картинок надо загрузить. Юзверь нет волк, может и подождать. От компа не убежит))
← →
parovoZZ © (2004-08-01 21:12) [3]Хотя при прямом копировании байты приходится блоками переносить, цикл организовывать. Так что тут бабка на двое сказала.
← →
miek © (2004-08-01 21:22) [4]Процедуры GDI всегда работают в софтварном режиме, а DirectDraw может копировать через DMA.
← →
cyborg © (2004-08-01 21:41) [5]
> [3] parovoZZ © (01.08.04 21:12)
Какая ещё бабка, думаешь StretchDIBits дуновением волшебного электрона всё разом переносит, нет ничего быстрее прямой записи/чтения, другое дело как это организовать.
← →
parovoZZ © (2004-08-01 22:41) [6]Дело говоришь. Я вот полазил по твоему сайту, отыскал интересную статейку про конвертацию пикселей. Попробовал - функция работает корректно только если картинка не меньше 100*100, а если меньше - получается билиберда. В чём дело пока не разбирался. Но опять - таки почему именно 24 бита? А нельзя файл сразу сохранить как 16 битный в редакторе?
← →
cyborg © (2004-08-02 08:51) [7]Servelat нашёл в чём причина, оказывается у BMP тоже бывает реальная ширина не соответствующая ширине самой картинки, в этих случаях работает криво, нужно учитывать это, мне лень код исправлять, у меня и так всё работает :).
Вчера на GameDev.ru на форуме увидел интересный пример как с помощью функции виндоуз грузить любые картинки (GIF, JPG, PNG и пр), там на С++ написали, пока не охото разбираться.
← →
cyborg © (2004-08-02 08:58) [8]Посмотри для конкурса колортетрис я использовал дописанный модуль к статьям, скачай исходник колортетриса (если тут на форуме не найдёшь у меня на сайте в разделе Исходники смотри) там в модуле GraphRoutines.pas функция с загрузкой 8 битовых картинок от Servelata добавил и ещё пару функций полезных. А сейчас для Танчиков сделал мини2ДЕнгине в виде ДЛЛ, там внутри директинпут и объект(спрайт)енгине встроен, по ходу немного доработаю и выложу в народ.
← →
wicked © (2004-08-02 11:55) [9]
> Что быстрее: пряиое копирование битового массива с помощью
> блокировки памяти (Lock и UnLock) или функция StretchDIBits()?
замерить через RDTSC... а лучше - имхо StretchDIBits, с ней мороки меньше... :)
можно также поискать PTC (официальный хоумпейдж умер вроде как), там есть кучка блиттеров....
> Servelat нашёл в чём причина, оказывается у BMP тоже бывает
> реальная ширина не соответствующая ширине самой картинки,
в msdn всё прекрасно описано....
← →
parovoZZ © (2004-08-02 12:27) [10]А как тогда узнать реальный размер картинки?
А зачем вообще гнаться за скоростью загрузки графики, если процессы загрузки графики происходят очень редко?
Ссылки киньте к статейкам, плиз.
← →
cyborg © (2004-08-02 12:42) [11]
> А зачем вообще гнаться за скоростью загрузки графики, если
> процессы загрузки графики происходят очень редко?
Как буд-то эту тему я создал. Кто тебя знает зачем тебе это надо?
← →
parovoZZ © (2004-08-02 13:11) [12]Исходник у тебя под free pascal, ну ладно, вечером скачаю.
Страницы: 1 вся ветка
Форум: "Media";
Текущий архив: 2004.10.31;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.033 c