__krs___ писал(а):а чем отличаются типы драйверов?
В основном - использованием аппартных возможностей разных платформ.
GDI (Graphic Device Interface) - общий такой вариант. Поскольку он - кусок виндоз и никуда не исчезнет. Зато он всё делает через... кх-м... процессор. Например, надо область экрана залить каким цветом или текстурку на поверхность натянуть - он всё до пилселя обсчитывает, как любую другую программу. И с памятью видео общается обычными пересуылками напрямую. Зато - работает хоть медленно, но - везде... "Я вчера видел раков... Ну о-о-чень большие, но - по пять. А сегодня - маленжкие. Но - по три..." (С) ММЖ
GX (Graphic (memory) eXtender) - драйвер, который позволяет пересылать данные в видео-память по прямому доступу. То есть система не пересылает каждый байт в отдельности, а настраивает специальный аппаратный контроллер, говоря ему откуда брать, сколько и куда посылать. Зависит от железа. В основнм использовалось в системах на базе WinCE 5. Требуется наличие драйвера GX.DLL. Обычно большого выигрыша в скорости не даёт, поскольку большинство современных проциков и так шустрые а видеопамять - "экономнаяЖ, но для старых систем, особенно на старых Самсунгах - может иногда и повеселить.
GXOVERGDI - комбинированный режим, когда часть работы делается через GDI, а часть - через GX. Требует очень правильно спроектированной платформы из-за проблем с синхронизацией. Редко где работает по этой причине.
GLES (openGL Elementar Subset) - интерфейс к специфическим драйверам некоторых видеоакселераторов (в основном - Intel). Редкая "птичка". Потому, далеко не во всех билдах иго присутствует. Требует не только наличия определённых драйверов в системе, но и "завязана" на их определённые версии. Зато всю "рутину" по графике берёт на себя акселератор, разгружая процессор и уменьшая количество пересылок по памяти.
DIRECTDRAW - до сих пор не работающий Примовский фичер. По идее - должен полностью отвязать Игу от конкретного железа, отдав распределение ролей между софтом и железом на конкретную конфигурацию платформы. Понятно, что в "генериках" она и так работать не будет, но в брэндах - может и быть весьма полезным. Это -когда (если) заработает.
Далеко не все билды поддерживают все эти драйвера. Выясняется это методом потрошения экзешника и поиска встроенных модулей для работы с разными драйверами. Наличие их - то же не всегда говорит о их работоспособности. Например в обеих известных нам примах много что есть, но - принципиально не работает
И ещё - в Приме навнго(внецы) пошли по пути "отвязывания" проги от универсальной поддержки железа. Скоро будем искать не новые билды проги, а новые билды NNGHAL.DLL
