проблемы с EnumDisplayModes

Тема в разделе "WASM.DirectX", создана пользователем inew, 15 июн 2005.

Статус темы:
Закрыта.
  1. inew

    inew New Member

    Публикаций:
    0
    Регистрация:
    30 ноя 2004
    Сообщения:
    26
    Что-то не могу разобраться...

    Как я понял по DirectX SDK, EnumDisplayModes, вызванная с флажком DDEDM_REFRESHRATE, должна перечислять каждый видеорежим столько раз, сколько различных частот он поддерживает. Я задаю в DDSURFACEDESC поля dwWidth и dwHeight (включены только флажки DDSD_WIDTH и DDSD_HEIGHT), чтобы перечислять только режимы с заданым разрешением, и вызываю EnumDisplayModes с флажком DDEDM_REFRESHRATE. Однако через СофтАйс вижу, что каждый из режимов (8-битный,16-битный и т.п.) перечисляется только один раз и частота при этом = 0 (поле dwRefreshRate структуры DDSURFACEDESC=0).

    Может я что-то не то делаю? Как тогда заставить эту чертову функцию перечислить все частоты, поддерживаемые заданым режимом?
     
  2. SolidCode

    SolidCode New Member

    Публикаций:
    0
    Регистрация:
    2 дек 2002
    Сообщения:
    162
    Адрес:
    Kazakhstan
    А ось у тебя какая?

    А мониторный драйвер какой? А адаптер?

    Я видеорежимами порядочно занимался. Даже статью писал здесь на васме про нахождение имеющихся мониторов в компе. В том числе для каждого перечисляются и поддерживаемые видеорежимы в том числе и частоты. Так вот, при одном и том же оборудовании на XP показывает поддерживаемые частоты, а в 98-ой частоты ставит в 0. Это значит стандартная частота. Сообщаемые данные зависят от железа и дров, которые ему установлены в конкретной оси.
     
  3. SolidCode

    SolidCode New Member

    Публикаций:
    0
    Регистрация:
    2 дек 2002
    Сообщения:
    162
    Адрес:
    Kazakhstan
  4. inew

    inew New Member

    Публикаций:
    0
    Регистрация:
    30 ноя 2004
    Сообщения:
    26
    Спасибо за подсказку...

    Скорее всего, таким образом, ошибки в проге нет. Просто нужно учитывать различия ОСей и дров
     
  5. SolidCode

    SolidCode New Member

    Публикаций:
    0
    Регистрация:
    2 дек 2002
    Сообщения:
    162
    Адрес:
    Kazakhstan
    Да.

    А ещё внимательно почитать всё, что сказано в MSDN по этой теме.

    А самое важное. Всё-таки проследить под отладчиком и точно знать ситуацию.
     
Статус темы:
Закрыта.