Предисловие
DirectX был обьявлен впервые в 1995 году и теперь является стандартом для мультимедийных приложений разрабатываемых на платформе Windows. Встроенный в DirectX стандарт взаимодействия с 3D акселераторами (после версии 3) Direct3D был ответом на стандарт Glide от 3dfx. Седьмая версия этого стандарта сейчас находится на стадии бета тестирования и окончательный вариант будет доступен в конце лета 99. В этой статье хотелось бы акцентировать внимание на некоторых интересных изменениях и проанализировать их поближе.
Анализ системной информации:
DirectX6.1
Time of this report: 20 jun 1999, 14:17:41 |
DirectX 7.0 Beta 1 Time of this report: 6/20/1999, 15:25:25 Machine name: twintexel Operating System: Windows 98 (4.10, Build 1998) Language: Dutch (Regional Setting: Dutch) Processor: Intel Pentium II, MMX, 366MHz Memory: 64MB RAM Page File: 32MB used, 79MB available DirectX Version: DirectX 7.0 (4.07.00.0166) DxDiag Version: 4.07.00.0166 |
Если проанализировать таблицы, то особо большой разницы не видно, разве что версия 7 показывает частоту процессора. Точно не знаю, рапортавала ли версия 6 и более ранние тактовую частоту, но теперь кажется у игр есть реальный шанс не допускать пользователя до запуска, мотивируя это недостаточной скоростью процессора.
Компоненты DirectX
DirectX 6.1 draw.dll: 4.06.02.0436 ddraw16.dll: 4.06.02.0436 ddrawex.dll: 4.86.02.0436 ddraw.vxd: 4.06.02.0436 ddhelp.exe: 4.06.02.0436 dxapi.sys: 4.86.02.0436 d3dim.dll: 4.06.02.0436 - - d3dramp.dll: 4.06.02.0436 d3drgbf.dll: 4.02.00.1054 d3drg16f.dll: 4.02.00.1054 d3drm.dll: 4.06.02.0436 d3dxof.dll: 4.06.02.0436 d3dpmesh.dll: 4.06.02.0436 dplayx.dll: 4.06.02.0436 dpmodemx.dll: 4.06.02.0436 dpwsockx.dll: 4.06.02.0436 dplaysvr.exe: 4.06.02.0436 dsound.dll: 4.05.01.1998 - dsound.vxd: 4.05.01.1998 dinput.dll: 4.05.01.1998 dinput.vxd: 4.05.01.1998 vjoyd.vxd: 4.05.01.1998 msanalog.vxd: 4.05.01.1998 joy.cpl: 4.05.01.1998 gcdef.dll: 4.05.01.1998 gchand.dll: 4.05.01.1998 - - dmusic.dll: 4.06.02.0436 dmusic16.dll: 4.06.02.0436 dmusic32.dll: 4.06.02.0436 dmband.dll: 4.06.02.0436 dmcompos.dll: 4.06.02.0436 dmime.dll: 4.06.02.0436 dmloader.dll: 4.06.02.0436 dmstyle.dll: 4.06.02.0436 dmsynth.dll: 4.06.02.0436 - dxsetup.exe: 4.06.02.0436 dsetup.dll: 4.06.02.0436 dsetup16.dll: 4.06.02.0436 dsetup32.dll: 4.06.02.0436 |
DirectX 7 beta 1 ddraw.dll: 4.07.00.0166 ddraw16.dll: 4.07.00.0166 ddrawex.dll: 4.87.00.0166 ddraw.vxd: 4.07.00.0166 ddhelp.exe: 4.07.00.0166 dxapi.sys: 4.87.00.0166 d3dim.dll: 4.07.00.0166 d3dim700.dll: 4.07.00.0166 d3dref.dll: 4.07.00.0166 d3dramp.dll: 4.07.00.0166 - - d3drm.dll: 4.06.02.0436 d3dxof.dll: 4.06.02.0436 d3dpmesh.dll: 4.06.02.0436 dplayx.dll: 4.07.00.0166 dpmodemx.dll: 4.07.00.0166 dpwsockx.dll: 4.07.00.0166 dplaysvr.exe: 4.07.00.0166 dsound.dll: 4.07.00.0166 dsound3d.dll: 4.07.00.0166 dsound.vxd: 4.07.00.0166 dinput.dll: 4.07.00.0166 dinput.vxd: 4.07.00.0166 joyhid.vxd: 4.87.00.0166 - joy.cpl: 4.07.00.0166 gcdef.dll: 4.07.00.0166 - pid.dll: 4.07.00.0166 hidgame.sys: 4.07.00.0166 dmusic.dll: 4.07.00.0166 dmusic16.dll: 4.07.00.0166 dmusic32.dll: 4.07.00.0166 dmband.dll: 4.07.00.0166 dmcompos.dll: 4.07.00.0166 dmime.dll: 4.07.00.0166 dmloader.dll: 4.07.00.0166 dmstyle.dll: 4.07.00.0166 dmsynth.dll: 4.07.00.0166 dx7vb.dll: 4.07.00.0166 - dsetup.dll: 4.06.02.0436 - dsetup32.dll: 4.06.02.0436 |
Драйверы DirectX
framebuf.dll: 4.10.00.1998 |
Драйверы DirectX
framebuf.dll: 4.10.00.1998 |
Графика:
В новой версии расширена поддержка 3D акселераторов включением поддержки аппаратной реализации наложения освещения и трасформации на выделенном 3D акселераторе, за счёт чего освобождается большое количество процессорного времени, что будет например не лишним при реализации хорошего AI или чего либо ещё, требующего интенсивной работы процессора без использования дополнительного железа. Так же стало возможно отображать эффекты отражения в воде, эффект света, проходящего через стекло и многие другие, приближающие игры к реальности. Можно создавать более сложные модели не думая о системных требованиях, в общем создавать более реалистичные игры.
Звук:
DirectMusic Version: 1.00.16.0002 |
DirectMusic Version: 1.00.16.0002 |
Ничего нового в этом плане в новой версии нет, но в финальной версии будут улучшены алгоритмы 3D Sound и будет встроенная поддержка аппаратного микширования и расширения позиционированного 3D звука по EAX. Всё это позволит создавать более богатый звук в приложениях. Кроме того новая версия должна быть на 20% быстрее старой.
Производительность:
Как видно из графиков, текущая версия не быстрее старой, но вероятно это потому, что тест производился на акселераторе без аппаратной поддержки освещения и трансформаций. Вероятно с будущими акселераторами и оптимизированными под DX7 приложениями разница в производительности будет гораздо выше.
Дополнительные материалы:
DirectX от WinG до FahrenheitКоротко о DirectX7
OpenGL 2.0: программируемый, масштабируемый и расширяемый
Что такое OpenGL?
OpenML. Первый взгляд