У меня есть программа, которая использует вызов Win32 API Sleep
, чтобы заставить поток ждать определенное время.
Короче говоря, он имитирует камеру, отправляя изображения, предварительно загруженные в память. Я использую Sleep
для имитации частоты кадров - Sleep (1000 / fps)
Это отлично работает в моей системе разработки (Intel i5 (1-го поколения), Win7 64), но когда я запускаю его на другой системе (Intel i7-2600 - SandyBridge), время сна оказывается совершенно другим и неточным.
Например,
Спящий режим (16)
спит около 32 мс
Спящий режим (3)
спит в течение 16 мс
Раньше я думал, что в окнах 15 мс
, но у меня нет этого ограничения в моей системе разработки.
Есть идеи?
Кроме того, есть ли лучший способ достичь частоты кадров моего симулятора?