На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела Visual C++ / MFC / WTL (далее Раздела)
1) На Раздел распространяются все Правила Форума.
2) Перед тем, как создать новый топик, убедитесь, что Вы читали Правила создания тем в Разделе.
3) Вопросы, не связанные с программированием (настройки MS Visual Studio, книги, библиотеки и т.д.),
обсуждаются в разделе C/C++: Прочее
4) Вопросы разработки .NET (Windows Form, C++/CLI и т.п.) приложений на Visual C++/C# обсуждаются в разделе .NET.
5) Нарушение Правил может повлечь наказание со стороны модераторов.

Полезные ссылки:
user posted image FAQ Раздела user posted image Обновления для FAQ Раздела user posted image Поиск по Разделу user posted image MSDN Library Online
Модераторы: ElcnU
  
> Окно DirectX, увеличить интервал прихода сообщений WM_PAINT , Сообщения WM_PAINT в окно DirecyX приходят с интервалом 250 микросекунд, надо бы реже.
    Есть окно с DirectX. Измерил интервал прихода сообщений отрисовки окна, оказалось, что сообщения WM_PAINT приходят с интервалом 250 микросекунд. Надо бы реже. Хотя бы 40 миллисекунд, этого будет достаточно для создания эффекта движения. Использую DirectX 9. Искал способ увеличить время, но что то не нашел. Может DirectX 12 может изменять это время?
      Про DirectX ничего не скажу, но есть вот такая идея:
      Сделать WM_TIMER с нужным интервалом, в котором будете выставлять нужный флаг, а в WM_PAINT будете рисовать только при наличии этого флага.
        Цитата Black_Dragon @
        Про DirectX ничего не скажу, но есть вот такая идея:
        Сделать WM_TIMER с нужным интервалом, в котором будете выставлять нужный флаг, а в WM_PAINT будете рисовать только при наличии этого флага.

        Проверил, не работает.
          Как сделали и что не работает?
          Очистка фона WM_ERASEBKGND есть?
            Цитата Black_Dragon @
            Как сделали и что не работает?
            Очистка фона WM_ERASEBKGND есть?

            Спасибо за совет. Разобрался, все заработало. В функции OnPaint не было строки
            ExpandedWrap disabled
               CPaintDC dc(this);

            Но картинка DirectX отрисовывалась, и я думал, что все работает. Был и другой глюк, но я списывал его
            на забивку буфера сообщениями. Но изучая ваш совет, увидел эту проблему, стал пробовать и все получилось.
            Спасибо.
            0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
            0 пользователей:


            Рейтинг@Mail.ru
            [ Script execution time: 0,0271 ]   [ 16 queries used ]   [ Generated: 16.04.24, 08:58 GMT ]