2011-09-02 32 views
5

Tôi đã đọc một số vấn đề và tính không chính xác của việc triển khai QPC. Nhưng tất cả các cuộc thảo luận và bài viết đó dường như đã lỗi thời.QueryPerformanceCounter Status?

Bất kỳ ai biết trạng thái hiện tại của chức năng QPC trên hệ điều hành Win7 mới nhất và CPU Intel/AMD là gì? Có bất kỳ cải tiến nào không? Ví dụ: Turbo Boost vẫn là một vấn đề lớn?

Tôi chủ yếu quan tâm đến điều này vì tôi cần phải quyết định giữa việc sử dụng timeGetTime và QueryPerformanceCounter cho thời gian trong ứng dụng của tôi.

+1

Bạn đã đọc chính xác điều gì? –

+0

QPC đã ổn định trong một thời gian dài. Các vấn đề về độ phân giải và độ chính xác về cơ bản là máy cụ thể, điều đó sẽ không bao giờ thay đổi. –

+0

@Hans: Rất vui khi biết rằng QPC ổn định. Tuy nhiên, tình trạng của các vấn đề máy cụ thể là gì? Nó vẫn còn phổ biến với các vấn đề như vậy với phần cứng hiện đại? – ronag

Trả lời

4

QPC đã được vá phần mềm bên cạnh microsoft lứa tuổi trước đây (bài viết kb cũ về vấn đề: http://support.microsoft.com/kb/895980). Sửa chữa này có thể được cài đặt trên bất kỳ hệ thống mục tiêu cho mảnh tâm trí (tôi đã nhìn thấy một vài trò chơi làm điều này), tuy nhiên nó không cần thiết. Tất cả các bộ vi xử lý mới hơn đều có phần cứng/sửa lỗi phần cứng, cũng như có TSC được đồng bộ chính xác giữa các lõi, do đó, các vấn đề với bộ đếm thời gian dựa trên RDTSC sẽ bị loại bỏ. Sửa chữa nóng có thể được nhận từ đây: http://support.microsoft.com/?id=896256 Tôi không chắc chắn nếu có bất cứ điều gì cho các hệ thống khác, nhưng từ vẻ của nó sửa chữa này là inheirent trong Windows Vista và Windows 7 dựa trên hệ điều hành. Đối với câu hỏi về độ chính xác, điều đó phụ thuộc vào chính phần cứng, tuy nhiên Microsoft cho biết QPC là bộ đếm thời gian chính xác nhất mà bạn có thể nhận được (với hiệu suất khá), vì vậy thiếu nội tuyến __rdtsc(), tôi nghi ngờ bạn sẽ chính xác hơn.

Các vấn đề liên quan