Здравствуйте, FR, Вы писали:
FR>Sleep я предлагал использовать только тогда когда программа не активна, чтобы не грузился процессор.
Из MSDN:
Therefore, if you have a thread that creates windows, use MsgWaitForMultipleObjects or MsgWaitForMultipleObjectsEx, rather than Sleep.
FR>Ничего кроме лишней головной боли не получишь. Выносить в другие потоки можно ассинхроную загрузку, обработку звуковых буферов, и обработку DirectInput, и опционально некторые длительные расчеты, все остальное лучше держать в основном потоке.
В идеале, если есть несколько объектов, которые могут работать параллельно, например, звук, физика, графика, даже обработка пользовательского ввода, нужно, чтобы они работали параллельно... Но это на мой взгляд... Ладно, пока эту тему тоже оставим...
FR>Вообще (если игра не простенькая) объекты обычно содержатся не в простых списках, а в более сложной структуре называемой scene graph, обычно это древообразная структура учитывающая пространственное расположение объектов.
FR>Смотри тут http://www.gamedev.ru/terms/SceneGraph и в поиск.
Посмотрел, почитал... Не очень понял... Если не жалко — объясни пожалуйста некоторые вопросы...