Re[10]: Чем рисовать WAV ?
От: Patalog Россия  
Дата: 24.04.04 09:19
Оценка:
Здравствуйте, Lopcom, Вы писали:

[]

L>Ещё раз, я тут имел в виду, что тормоза при использовании SetPixel будут как для MemoryDC, так и для экранного. Так как эти тормоза имеют природу, которую я описал и к типу DC это не имеет никакого отношения.


Конечно будут, кто же спорит. Все зависти от "качества" тормозов.
Т.е. я таки настаиваю, что разница (memory vs screen) есть.

Хотя, вопрос безусловно интересный. Кто-нибудь из гуру объяснит популярно?
Как я понял, в случае ежели поверхность управляется GDI (доп. драйвер отдал все на откуп GRE), линия выводиться средствами GDI (cpu),
а потом идет билттинг, т.е. адаптер просто копирует полученную поверхность в буфер кадров.
В другом случае — линия выводиться аппаратно (gpu).
Ежели линий много, будет часто дергаться шина, и по-идее, это будет медленнее чем разовый блиттинг, несмотря на аппаратную реализацию.
А ежели поверхность управляется устройством? В этом случае как?

L>А если, более глобально, что вообще все операции над DC как таковые. То тут конечно имеет уже разница с каким DC вы работаете.


Дык ежу понятно, что обрабатывать каждый пиксел в виде uset<->system несколько накладно.

[]

P>>Не думаю, что на сегодняшний день существуют реализации Polyline via SetPixel.

P>>Вывод линий давным давно уже сделан аппаратным, как впрочем и большинства 2d графики.
P>>Кстати, вообще не понимаю, на кой хрен ее реализовывать via SetPixel, когда можно LineTo?
P>>Или ты под SetPixel понимаешь не API ф-ю SetPixel, а установку пиксела как таковое?

L>Я SetPixel в качестве примера взял. А вообще через что работает Polyline нужно проверять.


Я почти уверен, что (как бы это выразиться?) ни через что. В смысле алгоритм такой же как у LineTo, без дополнительных вызовов.
В крайнем случае, через серию вызовов внутренней реализации LineTo.
Почетный кавалер ордена Совка.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.