Hey I'm quite the beginner in VB.NET so I don't know all the possibilities with the problem I'm having.
I'm currently using the default VB.NET timer control, however after a few weeks of testing quite thoroughly I discovered that my delay was longer than it was supposed to be.

Let me explain my situation:
I am receiving values over my serial port which I then write to a chart so that I get a line curve (Spline). I add the chart points with my timer. Every 50 milliseconds I add a new values received by my serial port. This value is also added to my datagridview. so I can build up a nice grid overview including my system time (the time given by my computer itself).

After a while using my program I discovered that the time is quite off. I used a stopwatch to time my actions and after 10 seconds I noticed that it were actually ~13 seconds in reality. I somewhere read that the VB.NET timers are not actually that precise even if you can input intervals of 1 ms. Apparently I need a high resolution timer to solve my problem, so here I am wondering what path to follow.
I've read about a function called stopwatch, however I do not need a time between start and end, I need an accurate delay / timer.

Any suggestions / idea's how I could solve my problem? Also if anything is unclear I happily will try to clear it up. Help would be VERY much appreciated!