วิธีคูณเวลาสลีปสำหรับโปรแกรมเฉพาะบน Windows ™หรือ Linux


-3

ในทุกระบบปฏิบัติการมีการเรียกระบบซึ่งอนุญาตให้หยุดกระบวนการ / เธรดชั่วคราวเป็นระยะเวลาหนึ่งเช่น 4µs หรือ 10 นาที

สิ่งที่ฉันต้องการคือเมื่อกระบวนการขอให้ระบบปฏิบัติการหยุดชั่วคราวเป็นเวลา 0.3s หรือ 0.5 วินาทีจริง ๆ แล้วจะถูกระงับชั่วคราวระหว่าง 0.9 วินาทีหรือ 1.5 วินาที

มีวิธีง่ายๆในการแก้ไขการกำหนดเวลาเหล่านั้นสำหรับทั้งระบบ:

  1. ปิดใช้งาน Hpet (ถ้าใช้ windows) และ TurboBoost ในการตั้งค่า Bios
  2. บู๊ต Windows ™หรือ Linux
  3. ไฮเบอร์เนต Windows ™กับฮาร์ดไดรฟ์
  4. ลดความเร็วนาฬิกา Cpu: บางอย่างเช่น 4.8GHz ถึง 800Mhz
  5. ทำต่อ Windows ™หรือ Linux จากฮาร์ดไดรฟ์: หากประสบความสำเร็จทุกอย่างจะช้าลงกว่าเดิมมาก ฉันหมายถึงช้ากว่าถ้าฉันบูต Windows ™หรือ Linux ไปที่ความถี่จริงในตอนแรก (ไม่ใช่เพราะการใช้งาน but แต่ส่วนใหญ่เป็นเพราะการกำหนดเวลาพักเครื่องมีผลต่อการกระทำของผู้ใช้ทุกครั้งที่มีระบบมากกว่าที่คิดมากที่สุด)

บน Linux คำอธิบายนั้นง่าย: นี่เป็นการตั้งค่าพารามิเตอร์เคอร์เนล Bogomips เป็นค่าที่ไม่ถูกต้อง เทคนิคการย้อนกลับสามารถใช้เพื่อทำให้รู้สึกว่าเครื่องจักรเก่าเร็วกว่าในความเป็นจริง

ตอนนี้วิธีการดำเนินการเปลี่ยนแปลงเวลาดังกล่าวสำหรับโปรแกรมเดียว ? การกำหนดเวลาเป็นสาเหตุที่ทำให้ศัตรูในวิดีโอเกมส่วนใหญ่ตอบสนองด้วยความเร็วเดียวกันทั่วทั้งความเร็วฮาร์ดแวร์และระบบปฏิบัติการที่ต่างกัน


ทำไมต้องลงคะแนน
user2284570
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.