Davs..
Jeg har været i gang med at lave en utrolig simpel webcam viser i Silverlight til en kammerat. Det fungerer, men i løbet af 20 sek, har jeg har et load på 50+% og et ramforbrug på omkring 2gb..
Det er når den timer, der ved Tick udfører denne metode er aktiveret..
- private void TimerElapsed(object sender)
- {
- this.timer.Dispose();
-
- System.Windows.Deployment.Current.Dispatcher.BeginInvoke(() =>
- {
-
- BitmapImage img = new BitmapImage(this.camUri);
- img.CreateOptions = BitmapCreateOptions.IgnoreImageCache;
- img.DownloadProgress += new EventHandler<DownloadProgressEventArgs>(DownloadProgressChanged);
- });
- }
Pt bliver den udført hvert 2000 ms fra den forrige download af billede gik i gang..
edit: Opdagede lige, at det ikke er DispatcherTimer jeg har brugt der - det er en alm. Timer... den giver memoryleak.
Bruger jeg dispatcher timer, får jeg en meget ustabil opdatering, hvor den kan finde på at opdatere 3 billeder nærmest instant, og så vente det den skal, for så at opdatere 3 igen.
Indlæg senest redigeret d. 25.04.2011 02:33 af Bruger #16372