![]() |
Quote:
---------- Post added at 20:56 ---------- Previous post was at 20:55 ---------- Хотя, конечно, закрывается. Как и все открытые файлы, и много чего еще. |
Quote:
Quote:
|
Quote:
---------- Post added at 21:16 ---------- Previous post was at 21:01 ---------- Безобразие! Если послать WM_QUIT потоку слишком быстро, вскорости после создания, то это сообщение ему не доходит, и он не закрывается. Стало быть надо еще проверять, а не создан ли уже поток успешно. Фиг проверишь. Надо вводить переменную флага внутри него. А вообще, нафиг. Раз при закрытие программы, все потоки закрываются, ну и фиг с ним - закроется сам. |
Quote:
У меня разборщик есть только в потоке интерфейса, а остальные потоки сообщения не проверяют. Возможно, как раз по этой причине эмулятор ДВК "застревает" в памяти примерно в 10% случаев. |
Quote:
|
Quote:
Ведь выход из WinMain - это ещё не завершение процесса. В CRT есть код и перед вызовом WinMain, и после выхода из WinMain. |
Quote:
|
Quote:
|
Кстати, раз ты уж такой хороший виндовый системщик, может подскажешь решение такой проблемы.
Мне необходимо синхронизироваться с VBlank. Для этого я использую функцию lpDD->WaitForVerticalBlank(DDWAITVB_BLOCKEND,NULL) - это из DirectGraphics. Все замечательно, только эта функция отбирает быстродействие, пока ждет вертикального гашения луча. Т.е. запустил, и все, поцесс ожидания берет на себя все быстродействия компьютера. Это совершенно не айс. Мне нужнен аналог этой функции, который не берет быстродействия на себя, а аналогичен Sleep(). Или же чтобы во время VBlank пришел какой-нить колбек и разбудил мой процесс. Спрашивал на программистких форумах, внятного ответа не увидал. ---------- Post added at 00:46 ---------- Previous post was at 00:42 ---------- И еще, какие есть возможности в винде для засыпания процесса на некоторое время кроме Sleep? Нет ли засыпания на фиксированное время с точностью до микросекунд? Потому что в слип задержка топорная. Где-то я читал, что на Sleep влияет timeBeginPeriod(), но работает не у всех. |
Вычитал, что в интерфейсе IDirect3DDevice9Ex вроде бы есть функция WaitForVBlank, которая действительно умеет засыпать до начала кадра. Но, судя по докам:
Quote:
|
| All times are GMT +4. The time now is 02:42. |
Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.