![]() |
|
Модераторы: Rickert |
![]()
|
|
| srd |
|
|||
![]() Нереварин ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 951 Регистрация: 30.8.2003 Где: Владивосток Репутация: нет Всего: 49 |
У Рихтера:
-------------------- Не смей читать мою подпись!!! |
|||
|
||||
| DENNN |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 3 Всего: 43 |
Под квантом понимается временной отрезок, в течении которого управление будет переданно процессу и не будет выполняться проверка о необходимости передачи управления другому процессу. Как расперделяется время медлу потоками внутри процесса - вопрос немножко другой. Неделимым может быть отрезок и в 2 кванта и более. Обычно квант - верменной промежуток, меньше которого квантовать время не отимально. Это все грубо и достаточно неточно, но как суме, так и сказал. ...
|
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 7 Всего: 232 |
Почитал тут посты, возникло предложение (не пинайте ногами сильно): что мешает перерисовывать кадр только когда это надо ? Например, мышка не двигалась, объекты в сцене не изменили своё положение, эффекты "молчат" -- нафига рисовать "поверх" того же самого ?
З.Ы, можно простым способом сделать: глобальная статическая переменная типа HANDLE с каким-нибудь объектом синхронизации, и ждущий поток. Поток рендерит кадр, потом "засыпает" в WaitForSingleObject. Если другие потоки, к примеру, передвинули камеру или объект в сцене - они сигналят первому потоку, он просыпается и рендерит ещё один кадр
Именно это и получится, если сделать как я предложил. Сигналить-то можно с любой требуемой скоростью. -------------------- ![]() |
|||
|
||||
| Tror |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 193 Регистрация: 29.4.2005 Где: Кишинёв Репутация: нет Всего: 4 |
Даа
здесь написали. Большое всем спасибо -- дали пищу для размышлений. Всё, пошёл разбираться. --------------------
Не говори всегда что знаешь, но знай всегда что говоришь. /Клавдий/============================================Кто может -- тот делает. Кто не может... тот получает сертификат MCSE ;) |
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 2 Всего: 110 |
о распределении времени:
я просто представил себе два возможных способа распределения времени: 1. глобально между процессами (независимо от количества активных потоков) и внутри них уже свои локальные шедулеры, которые делят полученное время между потоками 2. просто между процессами в первом случае от замораживания потока доля процесса в использовании процессора не меняется, значит, при замораживании одного из потоков, его время будет распределено между остальными потоками этого же процесса во втором случае усыпление одного из потоков приведет к распределению его части процессорного времени между всеми потоками в системе, а значит к потокам нашего процесса попадет только часть
насколько я понимаю, речь идет именно о моментах, когда что-то меняется, например, летят ут... пули, чем чаще будем менять картинку, тем плавнее они будут лететь... и если моментов, когда вообще ничего не меняется становится ощутимая часть, тогда стоит подумать о какой-то специальной обработке (т.е. отключении отрисовки) этой ситуации... другой вопрос - а часто ли такие моменты встречаются? -------------------- qqq |
|||
|
||||
| DENNN |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 3 Всего: 43 |
Читаем внимательно пердыдущую страницу:
|
||||
|
|||||
| Tror |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 193 Регистрация: 29.4.2005 Где: Кишинёв Репутация: нет Всего: 4 |
сообщения из очереди. Если использовать PeekMessage, то в таскмане отображается использование проца на 100%, если же использовать GetMessage, то всё в порядке. Но тут возникает проблемка: при использовании PeekMessage всё в норме, а при GetMessage рабочая область программы закрашивается тем что было до нее на экране(окна, десктоп и тд). Посмотрел в win32sdk help, там в ремарках к PeekMessage написано только то что он не ждёт окончания обработки сообщения в отличие от GetMessage. Глубже мне не удалось разобраться ввиду отсутствия MSDN(но вроде обещали подогнать), а пользоваься им в онлайне нет возможности. То maxim1000: С днём рождения Это сообщение отредактировал(а) Tror - 26.10.2005, 21:01 --------------------
Не говори всегда что знаешь, но знай всегда что говоришь. /Клавдий/============================================Кто может -- тот делает. Кто не может... тот получает сертификат MCSE ;) |
|||
|
||||
![]()
|
| Правила форума "Программирование игр, графики и искуственного интеллекта" | |
|
|
НА ЗЛОБУ ДНЯ: Дорогие посетители, прошу обратить внимание что новые темы касающиеся новых вопросов создаются кнопкой "Новая тема" а не "Ответить"! Любые оффтопиковые вопросы, заданные в текущих тематических темах будут удалены а их авторы, при рецедиве, забанены.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rickert. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Программирование игр, графики и искусственного интеллекта | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |