3ds max, maya and other popular apps

Started by
14 comments, last by rick_appleton 19 years, 8 months ago
Hi, you know how apps like 3ds max are programmed in c++, i was wondering if this will change with windows changing to .net in the future. I mean, if c# apps start running faster than c++, will developers of good apps like max ect start using c#? Any thought appreciated Cheers :)
Advertisement
There is too much time and money invested in the code bases of those apps to start over from scratch in another language.
Well, I mean, if c# is faster then they would have no choice. Its not like they would be starting from scratch. All thier algorithms and math would be the same. It would be just a matter of changing language. c++ and c# aren't too different to make it unfeasible.
It would be a waste of time, C++ is fast enough as it is. There is no way using something else would give enough benefits to justify moving to another language.
What so is c# going to be quite speedy under the new .net?
So alot faster than java?,

but how can c# be faster than c++? (btw i'm sticking to c++ either way, it grows on you :))
C++ and C# are different enough. And it would be feasible to do if 3DS Max were written in say 10000 lines of code. But as is, the code is likely several million lines, many of which are old and monolithic. Combine that with the fact that converting a program from C++ to C# is probably not going to be a direct one-to-one mapping for all but the more trivial stuff, and you've got a project that would take years to complete and re-debug and re-test, all for a speed gain of maybe a few percent (if that). Not worth any company's time and effort.

That said though, there's still a good chance that after Longhorn comes out, companies will slowly but surely switch the projects from using unmanaged C++ to managed C++ or C# (at least where portability isn't an issue) since, at least I had heard, in Longhorn, if you run an unmanaged app, it'll give you a warning box saying that it's an old program and running it could harm your computer. I don't know if that's true or not, but if it is, having a box like that pop up is going to make some of the less technologically fluent people out there demand refunds for your software, or cause them to not even try your demo version. So from a business perspective, it may make sense to convert everything.

-Auron
more likely you'd get a slow migration by making parts of it use managed C++ whilst the rest was simply flagged as unsafe.

It's a bit of a cop-out but it means that you could start the app and windows interface as managed and then just declare the rest as unmanaged.

As for whether you would or not.. well i dont see any need for it, the speed difference alone would probably be tiny. Also if there was any form of speed improvement then it'd make more sense to just rewrite the particular rendering section than the whole app in whatever was quicker.
Unless there is a complete 100% good way to make C# application NOT-reverse enginerable, I think C++ is still the language.
Right now you can get almost the original code, if you reverse engineer a C# executable.

And the above posts are right, THEY have a very large codebase. But newcomers might use C#, and eventually (when the above problem is solved) I think the market leaders of today (discreet, alias) will change to C#.
Quote:Original post by Pipo DeClownBut newcomers might use C#, and eventually (when the above problem is solved) I think the market leaders of today (discreet, alias) will change to C#.


C# is designed to give you cross platform capabilities. Since the major anim packages already have this (Apart from Max - Maya, Xsi, & Houdini all work on irix, linux, apple & Win32). there would be very little point in bothering to switch to C# since you wouldn't gain anything.

The other point to consider is that, IF a package was going to be converted to C#, then you would also have to convert the respective API's for that app. This would anger the entire user base of that package, since you would have to re-write or re-facture all tools and plugins you've ever written for it. This would anger too much of the user base to be viable.

Put simply, Maya, Max, Xsi, Houdini and Lightwave will NEVER be converted to C#. At this moment in time, it is still easier to port the C++ code to a new platform, than it is to re-write the App in another language.

( Xsi has a very flexible scripting/plugin system. Chances are that if you can't already write plugins & scripts for it in C#, then support will be added soon )
Quote:Original post by one mind
I mean, if c# apps start running faster than c++, will developers of good apps like max ect start using c#?

Why do you think speed is all that developers need? Check your CPU usage when using 3DS Max, it's probably around 10%. A much more important concern is maintaining and updating the program minimal effort, for which it makes sense to reuse the previous code and the previous programming language.

This topic is closed to new replies.

Advertisement