123456789101112131415161718192021222324252627282930313233343536373839 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Runtime.InteropServices;
- using System.Text;
- using System.Threading.Tasks;
- namespace OptiTrack
- {
- public class HighPerformanceTimer
- {
- [DllImport("Kernel32.dll")]
- private static extern bool QueryPerformanceCounter(out long lpPerformanceCount);
- [DllImport("Kernel32.dll")]
- private static extern bool QueryPerformanceFrequency(out long lpFrequency);
- private long start;
- private long freq;
- public HighPerformanceTimer()
- {
- start = 0;
- QueryPerformanceFrequency(out freq);
- }
- public void Start()
- {
- QueryPerformanceCounter(out start);
- }
- public double Stop()
- {
- long stop;
- QueryPerformanceCounter(out stop);
- return (double)(stop - start) / (double)freq;
- }
- }
- }
|