public MainWindow() { InitializeComponent(); layerModel = new LayerModel(); //prog = Program.Cornel(); int width = 2048; int height = 2048; prog = Program.parseScene(@"scenes/book.txt", new Vector2(width, height)); bitmap = new WriteableBitmap(width, height, 96, 96, PixelFormats.Rgba128Float, null); var layer = layerModel.AddFrame(prog, prog.Color, width, height, 100, bitmap.Format.BitsPerPixel); layers.Add(layer); View.Source = bitmap; workQueue = new WorkQueue(); foreach (var l in layers) { workQueue.AddWork(l.renders); } timer = new DispatcherTimer { Interval = TimeSpan.FromMilliseconds(250) }; timer.Tick += (sender, arguments) => layerModel.UpdateBpm(bitmap, layer); timer.Start(); }