как реагирует система на PeekMessage

Тема в разделе "WASM.BEGINNERS", создана пользователем mister_serg, 26 дек 2005.

  1. mister_serg

    mister_serg New Member

    Публикаций:
    0
    Регистрация:
    1 ноя 2005
    Сообщения:
    15
    Адрес:
    Russia
    столкнулся с такой проблемой чтобы система постоянно вызывала мое приложение я использую функцию PeekMessage вместо GetMessage,так везде советуют.Однако такое впечатление,что система не торопится отзываться.Внутри цикла сообщений вызывается только одна процедура - Game_Main.Я измерил время ее исполнения в милисекундах получается 0.Реальность же такова - процедура вызывается меньше 50 раз в секунду.Подскажите ,что может тормозить мою программу.
     
  2. Topor

    Topor New Member

    Публикаций:
    0
    Регистрация:
    21 ноя 2005
    Сообщения:
    31
    Приоритет своему потоку повыше поставь:

    SetThreadPriority
     
  3. mister_serg

    mister_serg New Member

    Публикаций:
    0
    Регистрация:
    1 ноя 2005
    Сообщения:
    15
    Адрес:
    Russia
    Очень благодарен за подсказку,посоветуй, где найти примеры использования этой функции.
     
  4. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    Примеры можно найти в гугле, их там около 21400 штук. Выбирай любой.

    Это самый простой и быстрый способ получения информации.
     
  5. mister_serg

    mister_serg New Member

    Публикаций:
    0
    Регистрация:
    1 ноя 2005
    Сообщения:
    15
    Адрес:
    Russia
    вставил я в программу такой кусок

    mov eax,wParam

    .if lParam==0

    .if ax==IDM_CREATE_THREAD

    mov eax,OFFSET Game_Main

    invoke CreateThread,NULL,NULL,eax,\

    NULL,HIGH_PRIORITY_CLASS,\

    ADDR ThreadID

    invoke SetThreadPriority,????,THREAD_PRIORITY_TIME_CRITICAL(THREAD_PRIORITY_H IGHEST)

    .endif и т.д.,остался вопрос,что указывать в качестве хэндла и все ли здесь правильно?

    боюсь что мне понадобится слишком много времени чтобы перерыть 21400 упоминаний этих слов
     
  6. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    боюсь что мне понадобится слишком много времени чтобы перерыть 21400 упоминаний этих слов



    Достаточно сходить по первой же найденной гуглом ссылке.

    Или кто-то должен сходить и принести готовое?
     
  7. mister_serg

    mister_serg New Member

    Публикаций:
    0
    Регистрация:
    1 ноя 2005
    Сообщения:
    15
    Адрес:
    Russia
    Не имел в виду ,что кто-то будет вместо меня искать то что мне нужно,но человек может иметь готовый ответ на вопрос и в этом смысле я расчитываю на готовое.В общем кажется все правильно сделал повысил приоритет до PRIORITY_TIME_CRITICAL осталось сделать один шаг до высшего REALTIME_PRIORITY_CLASS.НО проблема осталась.PeekMesage вызывает мое приложение не так часто как мне бы хотелось или выделяет не те кванты времени,правда с одной оговоркой если программу запускать в win98 она работает в несколько раз быстрее.