SDI vs. MDI: Old question, new parameters
-
This question is as old as the dawn of windows itself, but this time round with more parameters added. I know all about SDI and MDI development, but I want to rest a case of which is best in terms of processing power. I have used both in my developing career and fully understand the pains and gains of each except: In terms of .NET 2+ and C#: Which is best in terms of performance: a MDI with a menu bar and two child forms - no matter the content - or two SDI's with the same menu bar and corresponding content. Forget the effeort to link the forms and carra data over from the one to the other - performance only, processing power, memory usage/footprint, JIT, GC etc. The real reason for this is I need to have some expert advice to shut some mouths shooting off in only one direction. If you can point me, give expert advice, direction or whatever to state a case I'll appreciate it dearly.
-
This question is as old as the dawn of windows itself, but this time round with more parameters added. I know all about SDI and MDI development, but I want to rest a case of which is best in terms of processing power. I have used both in my developing career and fully understand the pains and gains of each except: In terms of .NET 2+ and C#: Which is best in terms of performance: a MDI with a menu bar and two child forms - no matter the content - or two SDI's with the same menu bar and corresponding content. Forget the effeort to link the forms and carra data over from the one to the other - performance only, processing power, memory usage/footprint, JIT, GC etc. The real reason for this is I need to have some expert advice to shut some mouths shooting off in only one direction. If you can point me, give expert advice, direction or whatever to state a case I'll appreciate it dearly.
In my opinion since MDI would require three forms (one father and two childs), the memory footprint will sure be slightly larger. The same goes for computing power, since there will be three forms, all with their message management and so on. But I doubt this will have any serious impact on the application, unless you are counting bytes or CPU cycles. And if you are doing that, you're better off using C++ or some other lower level language. :) I think the real question is: how would you implement your solution with MDI and with SDI, and which would be the most performing / better ? You may discover that the changes in the implementation carry some benefit for one or the other. So the choice would depend on that, not on religion wars between SDI and MDI.
2+2=5 for very large amounts of 2 (always loved that one hehe!)
-
In my opinion since MDI would require three forms (one father and two childs), the memory footprint will sure be slightly larger. The same goes for computing power, since there will be three forms, all with their message management and so on. But I doubt this will have any serious impact on the application, unless you are counting bytes or CPU cycles. And if you are doing that, you're better off using C++ or some other lower level language. :) I think the real question is: how would you implement your solution with MDI and with SDI, and which would be the most performing / better ? You may discover that the changes in the implementation carry some benefit for one or the other. So the choice would depend on that, not on religion wars between SDI and MDI.
2+2=5 for very large amounts of 2 (always loved that one hehe!)
I have similar thoughts - no wars. Figure out what you want to use and use the appropriate method - 6 of the one and half a dozen of the other in terms of usability and performance. The other option is WPF, but in my case it will not work properly in a Terminal Services / Citrix environment - bandwidth too expensive...
"the confused are confused beyond confusion" - Pik Botha (1990)
-
This question is as old as the dawn of windows itself, but this time round with more parameters added. I know all about SDI and MDI development, but I want to rest a case of which is best in terms of processing power. I have used both in my developing career and fully understand the pains and gains of each except: In terms of .NET 2+ and C#: Which is best in terms of performance: a MDI with a menu bar and two child forms - no matter the content - or two SDI's with the same menu bar and corresponding content. Forget the effeort to link the forms and carra data over from the one to the other - performance only, processing power, memory usage/footprint, JIT, GC etc. The real reason for this is I need to have some expert advice to shut some mouths shooting off in only one direction. If you can point me, give expert advice, direction or whatever to state a case I'll appreciate it dearly.
Already you got couple of answers. I would like give you another link - Composite UI Application Block[^]. Using this, you can concentrate on application development and leaving the rest of the things on Microsoft's Patterns and Practices team. Let me know if this helps :) or if you need any details on CAB/SCSF[^]. Regards, Arindam Sinha