New answers tagged


tl;dr; Yes, it is possible. But I doubt you will be able to support high-quality high-definition video. The performance of the decoding is not about it being "slow". It is about being able to support specific bitrates. If your decoder is slow, it can still play low bitrate video, but it will be unusable for higher bitrates. Video decoding is all about data ...


Video players have what I call a "threshold of computation;" there exists a minimum level of data flow (for a given video resolution), below which a video player will not work at all (or will only work intermittently). To support writing a video player successfully, a programming language would most likely need: Relatively high performance, Bit ...


As Robert Harvey commented, MVP (model-view-presenter) is the architectural pattern of choice for Winforms. MVP is really just a flavor of MVC though. Your form (view) should implement an interface defining the public API of the view. FooForm : IFooView, Form And it will expose some of its elements via properties, say maybe a textbox input. public ...


You may want to look at architecture documentation techniques. I think the arc 42 template might be interesting for you: This related WIP guide might also be interesting for you:


Brian Agnew's suggestion is very much applicable, but I'd like to point out something else: I get the feeling that maybe the actors (the plugged-in behavior you mentioend) on your model are carrying two very different responsibilities. Alternatively, you could design your framework to have a separate registration mechanism, exclusively for disposable ...


I don't think it's unreasonable for your abstract base class to provide an empty implementation of the IDisposable interface, and for subclasses to implement their own implementation as required. That seems to me a commonly used and understood pattern.


Have a look in HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\NewProjectDialog where the FxVersion key will contain the default framework choice. You could change it to a higher version and find out if it's a mistake or not. Probably not. You'll get a bunch of features & fixes in any case. Here are the Release Notes for .NET Framework 4.6.1, the ...


See Reactive Extensions timers. Otherwise, a traditional timer loop as observed in a Windows Service timer would be my go-to.

Top 50 recent answers are included