Конференция "Media" » Тормоза Direct3D и OpenGL под Vista и Windows 7 [D5, WinXP]
 
  • novarm44 (30.05.09 01:55) [0]
    Программа (CAD) использует для рисования DirectX 8 и OpenGL (по выбору). Почему-то в Vista и Windows 7 графика в обоих режимах работает в 2-3 раза медленее, чем в XP - на больших проектах довольно критично. С драйверами все нормально - стоят родные от NVidia.

    Никто с таким не сталкивался? Нужна ли какая-то специальная оптимизация под Vista/Win 7?
  • Sapersky (04.06.09 10:24) [1]
    Как я понял отсюда:
    http://download.microsoft.com/download/5/b/9/5b97017b-e28a-4bae-ba48-174cf47d23cd/PRI034_WH06.ppt
    старые версии D3D эмулируются D3D9 ("Map older runtimes onto Direct3D 9 DDIs, E.g., runtimes Direct3D 8, DirectDraw"). Насчёт OGL не вполне понятно, возможно, тоже эмулируется: "Limited inbox support for application compatibility - Using Direct3D 9". Кроме того, в Висте нет как такового Fixed-function pipeline, поэтому "Fixed-function onto shaders, etc.".
    Возможно, все эти эмуляции делаются не вполне эффективно, отсюда имеем тормоза.
    Ну и Aero сам по себе должен давать (по оптимистичным оценкам :)) 10% замедление:
    http://www.opengl.org/pipeline/article/vol003_9/
    Т.е. для начала можно попробовать его отключить. Мало ли, кривые драйвера попались и 10% доросли до 50%.

    Ещё можно попробовать сделать вариант рендера на D3D9. Это не сложно, для простой 2D-графики 9-ка почти не отличается от 8-ки, см., например, модуль DX89_Core.pas отсюда:
    http://sapersky.narod.ru/files/AnyDX2D_v0.6.rar
  • novarm44 (07.06.09 21:01) [2]
    Переделали под DirectX 9. Результат - скорость в Vista/Win 7 не возросла, но стало работать на ноутах с интегрированными видухами (8-ка вылетала с синим экраном или некорректно рисовала), так что оставляем.
  • novarm44 (12.06.09 14:58) [3]
    Вопрос решился. На компе стоит карточка "Engineering Release - Not for production use". В итоге скорость рендеринга приблизительно раз в 10 меньше чем на обычном компе. Поставили семерку на другой комп - там все работает также как в XP.
 
Конференция "Media" » Тормоза Direct3D и OpenGL под Vista и Windows 7 [D5, WinXP]
Есть новые Нет новых   [134431   +10][b:0][p:0]