Tôi có một chương trình sử dụng lệnh gọi Sleep
Win32 API để tạo một chuỗi chờ một khoảng thời gian cụ thể.
Tóm lại, nó mô phỏng máy ảnh bằng cách gửi hình ảnh được tìm nạp trước trong bộ nhớ. Tôi đang sử dụng Sleep
để mô phỏng tốc độ khung hình - Sleep(1000/fps)
Hành vi lạ 'Ngủ' giữa các hệ thống
Điều này làm việc tốt trong hệ thống phát triển của tôi (Intel i5 (thế hệ thứ nhất), Win7 64), nhưng khi chạy trên hệ thống khác (Intel i7-2600 - SandyBridge), thời gian ngủ hoàn toàn khác và không chính xác.
Ví dụ, Sleep(16)
ngủ khoảng 32ms
Sleep(3)
ngủ cho 16ms
Trong quá khứ tôi nghĩ đã có một thời gian ngủ tối thiểu trong các cửa sổ của 15ms
nhưng tôi không nhận được rằng giới hạn trên hệ thống dev của tôi.
Bất kỳ ý tưởng nào?
Ngoài ra, có cách nào tốt hơn để đạt được tốc độ khung hình của trình mô phỏng của tôi không?
Bạn đang nói về Win32 [ 'Sleep'] (Hàm http://msdn.microsoft.com/en-us/library/windows/desktop/ms686298.aspx) hoặc hàm C ['ngủ'] (http://pubs.opengroup.org/onlinepubs/009604599/functions/sleep.html) (lưu ý vỏ của 's')? Mô tả của bạn gợi ý ở đầu tiên, thẻ chính tả/đặt tên và (thay vì chung chung) ở thẻ còn lại. –
@ Christian.K - Win32 'Sleep' – Itsik