|
ms
newsgroups
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
Best language for music appsI know VC++ and C# fairly well, but I'm trying to weigh pros and cons
for use of each on a music project. It will entail MIDI and sample playback, use of fairly high-res timers (if available) and quick (realtime) update of screen graphics. I've written similar programs, but not under .NET. I'd love to use C#, but I'm concerned about speed and access to lower level code, if that becomes necessary. I realize that I could use PInvoke to call the old graphics Bitblt for speed, etc. And I can drop to unmanaged C++ if necessary for some runtime functions. I guess the main question is whether it's worth writing any of it in C#, given the amount of time-critical code, though I do love the quick dev time of C# and absence of tedious function prototypes, etc. Well, Vertigo Software ported Quake II to managed C++
(http://www.vertigosoftware.com/Quake2.htm), and, according to them, the performance was very close to the original C version developed by id Software. While it was done in managed C++, and not C#, and it's a game, not a music authoring application, I think it's very relevant to what you are trying to do. One can conclude that, in general, C# and .NET are suitable for non-mission critical real time applications. Of course, your mileage might vary. For Quake the actual code was in C++ (native), so for them it was easy to
convert in managed C++ than any other NET languages. It's better to experiment in CLI, I don't think you will get an edge over C# if you use MC++ Show quote "Mohammad" wrote: > Well, Vertigo Software ported Quake II to managed C++ > (http://www.vertigosoftware.com/Quake2.htm), and, according to them, > the performance was very close to the original C version developed by > id Software. > > While it was done in managed C++, and not C#, and it's a game, not a > music authoring application, I think it's very relevant to what you are > trying to do. One can conclude that, in general, C# and .NET are > suitable for non-mission critical real time applications. > > Of course, your mileage might vary. > > |
|||||||||||||||||||||||