คำถามติดแท็ก time-precision

10
System.currentTimeMillis กับ System.nanoTime
Vs ความแม่นยำ ความแม่นยำ สิ่งที่ฉันอยากรู้คือฉันควรใช้System.currentTimeMillis ()หรือSystem.nanoTime ()เมื่ออัปเดตตำแหน่งของวัตถุในเกมหรือไม่ การเปลี่ยนแปลงในการเคลื่อนไหวของพวกเขาเป็นสัดส่วนโดยตรงกับเวลาที่ผ่านไปนับตั้งแต่การโทรครั้งสุดท้ายและฉันต้องการให้แม่นยำที่สุดเท่าที่จะทำได้ ฉันได้อ่านแล้วว่ามีปัญหาการแก้ไขเวลาที่ร้ายแรงระหว่างระบบปฏิบัติการที่แตกต่างกัน (เช่น Mac / Linux มีความละเอียดเกือบ 1 ms ในขณะที่ Windows มีความละเอียด 50ms หรือไม่) ฉันทำงานแอพของฉันบน Windows เป็นหลักและความละเอียด 50ms ดูไม่ถูกต้อง มีตัวเลือกที่ดีกว่าสองอย่างที่ฉันระบุไว้หรือไม่ ข้อเสนอแนะ / ความคิดเห็นใด ๆ

7
รับเวลาเป็นมิลลิวินาทีโดยใช้ C #
ฉันกำลังทำโปรแกรมที่ฉันต้องใช้เวลาเป็นมิลลิวินาที เมื่อเวลาผ่านไปฉันหมายถึงจำนวนที่ไม่เคยเท่ากับตัวมันเองและมักจะมีจำนวนมากกว่า 1,000 ตัวเมื่อเทียบกับวินาทีที่แล้ว ฉันได้ลองแปลงDateTime.Nowเป็น a TimeSpanและรับค่าTotalMillisecondsจากนั้น ... แต่ฉันได้ยินมาว่ามันไม่ถูกต้องอย่างสมบูรณ์ มีวิธีที่ง่ายกว่านี้ไหม

8
จะวัดเวลาเป็นมิลลิวินาทีโดยใช้ ANSI C ได้อย่างไร?
การใช้ ANSI C เพียงอย่างเดียวมีวิธีใดในการวัดเวลาด้วยความแม่นยำระดับมิลลิวินาทีขึ้นไปหรือไม่? ฉันกำลังเรียกดูเวลา h แต่ฉันพบฟังก์ชันความแม่นยำที่สองเท่านั้น

6
ฟังก์ชันที่สร้างการประทับเวลาใน c #
ฉันสงสัยว่ามีวิธีสร้างการประทับเวลาใน c # จากวันที่เวลาหรือไม่ ฉันต้องการค่าความแม่นยำระดับมิลลิวินาทีที่ใช้งานได้ใน Compact Framework ด้วย (บอกว่าเนื่องจาก DateTime ToBinary () ไม่มีอยู่ใน CF) ปัญหาของฉันคือฉันต้องการเก็บค่านี้ในฐานข้อมูลแบบไม่เชื่อเรื่องพระเจ้าดังนั้นฉันจึงสามารถเรียงลำดับได้ในภายหลังและค้นหาว่าค่าใดมากกว่าค่าอื่นเป็นต้น

7
C # DateTime ตอนนี้แม่นยำ
ฉันเพิ่งพบพฤติกรรมที่ไม่คาดคิดบางอย่างกับ DateTime.UtcNow ขณะทำการทดสอบหน่วย ดูเหมือนว่าเมื่อคุณเรียก DateTime.Now/UtcNow อย่างต่อเนื่องดูเหมือนว่าจะให้ค่าเดิมกลับมาเป็นช่วงเวลาที่นานกว่าที่คาดไว้แทนที่จะจับภาพทีละมิลลิวินาทีที่แม่นยำยิ่งขึ้น ฉันรู้ว่ามีคลาสนาฬิกาจับเวลาที่เหมาะกว่าสำหรับการวัดเวลาที่แม่นยำ แต่ฉันอยากรู้ว่ามีใครสามารถอธิบายพฤติกรรมนี้ใน DateTime ได้หรือไม่? มีเอกสารความแม่นยำอย่างเป็นทางการสำหรับ DateTime หรือไม่ตอนนี้ (ตัวอย่างเช่นแม่นยำภายใน 50 ms?) เหตุใด DateTime.Now จึงมีความแม่นยำน้อยกว่าที่นาฬิกา CPU ส่วนใหญ่สามารถจัดการได้ อาจจะออกแบบมาสำหรับ CPU ตัวหารร่วมที่ต่ำที่สุด? public static void Main(string[] args) { var stopwatch = new Stopwatch(); stopwatch.Start(); for (int i=0; i<1000; i++) { var now = DateTime.Now; Console.WriteLine(string.Format( "Ticks: {0}\tMilliseconds: {1}", …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.