Click here to Skip to main content
15,906,463 members
Home / Discussions / C#
   

C#

 
AnswerRe: C# 2.0 Windows Service - Memory Leak? Pin
SarahMcM1-Jun-10 15:19
SarahMcM1-Jun-10 15:19 
Questionhow about erasing trace of Rectangle? [modified] Pin
sonic74731-May-10 17:59
sonic74731-May-10 17:59 
AnswerRe: how about erasing trace of Rectangle? Pin
Stanciu Vlad31-May-10 21:53
Stanciu Vlad31-May-10 21:53 
GeneralRe: how about erasing trace of Rectangle? Pin
sonic74731-May-10 23:51
sonic74731-May-10 23:51 
GeneralRe: how about erasing trace of Rectangle? Pin
Stanciu Vlad1-Jun-10 0:37
Stanciu Vlad1-Jun-10 0:37 
AnswerRe: how about erasing trace of Rectangle? Pin
Pete O'Hanlon1-Jun-10 1:02
mvePete O'Hanlon1-Jun-10 1:02 
GeneralRe: how about erasing trace of Rectangle? Pin
sonic7471-Jun-10 2:12
sonic7471-Jun-10 2:12 
GeneralRe: how about erasing trace of Rectangle? Pin
Pete O'Hanlon1-Jun-10 2:37
mvePete O'Hanlon1-Jun-10 2:37 
QuestionUnhandled exception in the designer (OnPaint) Pin
AussieLew31-May-10 13:18
AussieLew31-May-10 13:18 
AnswerRe: Unhandled exception in the designer (OnPaint) Pin
Luc Pattyn31-May-10 13:30
sitebuilderLuc Pattyn31-May-10 13:30 
AnswerRe: Unhandled exception in the designer (OnPaint) Pin
Stanciu Vlad31-May-10 21:57
Stanciu Vlad31-May-10 21:57 
QuestionSerial interface RS-232 C# app data recive issue Pin
sebogawa31-May-10 9:32
sebogawa31-May-10 9:32 
AnswerRe: Serial interface RS-232 C# app data recive issue Pin
Luc Pattyn31-May-10 9:53
sitebuilderLuc Pattyn31-May-10 9:53 
AnswerRe: Serial interface RS-232 C# app data recive issue Pin
Richard Andrew x6431-May-10 11:14
professionalRichard Andrew x6431-May-10 11:14 
QuestionTime event? Real time data send Pin
sodevrom31-May-10 6:46
sodevrom31-May-10 6:46 
AnswerRe: Time event? Real time data send Pin
Luc Pattyn31-May-10 7:03
sitebuilderLuc Pattyn31-May-10 7:03 
GeneralRe: Time event? Real time data send Pin
sodevrom31-May-10 7:12
sodevrom31-May-10 7:12 
GeneralRe: Time event? Real time data send Pin
Luc Pattyn31-May-10 7:14
sitebuilderLuc Pattyn31-May-10 7:14 
GeneralRe: Time event? Real time data send Pin
sodevrom31-May-10 7:18
sodevrom31-May-10 7:18 
AnswerRe: Time event? Real time data send Pin
OriginalGriff31-May-10 9:59
mveOriginalGriff31-May-10 9:59 
AnswerRe: Time event? Real time data send Pin
Anthony Mushrow31-May-10 14:47
professionalAnthony Mushrow31-May-10 14:47 
AnswerRe: Time event? Real time data send Pin
Anthony Mushrow1-Jun-10 4:49
professionalAnthony Mushrow1-Jun-10 4:49 
I think I have a decent solution to your problem which would give the accuracy you want without killing the CPU:

class bleh
{
  List<DateTime> times;
  DateTime next;
  bool quit = false;

  void main()
  {
    while(!quit)
    {
      bool resting = false;
      //Search through your list and find the next time that will be reached
      next = ...;

      do
      {
        resting = false;
        TimeSpan diff = next - DateTime.Now;

        //If the time difference between now and the next event is greater
        // than some tolerable value, sleep for a while
        if(diff > someVal)
        {
          resting = true;
          sleep;
        }
      }
      while(resting);

      while( true )
      {
        if(DateTime.Now >= next)
        {
          fire event;
          break;
        }
      }
    }
  }
}


You'd want to be running this in a separate thread so it doesn't interfere with your main application and you'll want to replace DateTime.Now and whatnot with queries to your multimedia timer and you may also have to add some stuff for events that are very close together.

Basically if there is a large enough gap in time before the next event you should be able to afford to put the thread to sleep and when you get close to the event you will have to go into the while loop to make sure that the event is fired as close to the specified time as possible. What amount of time you use to switch between sleeping and looping is entirely up to you and I imagine will involve some experimentation.

Well, I hope that gives you some idea on what you could do to improve performance, without (hopefully) sacrificing too much accuracy.
My current favourite quote is: Punch them in the face, see what happens!
-SK Genius


Questionstyle button Pin
toba tavasoli31-May-10 5:09
toba tavasoli31-May-10 5:09 
AnswerRe: style button Pin
OriginalGriff31-May-10 5:12
mveOriginalGriff31-May-10 5:12 
AnswerRe: style button Pin
Abhinav S31-May-10 6:00
Abhinav S31-May-10 6:00 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.