Archived

This topic is now archived and is closed to further replies.

Newfound Ajarn

To COM or not to COM

Recommended Posts

... that is the question. Anyway, I''m remaking this hobby 3d-engine that I have been working on for about a year (didn''tget very far, but learned a lot), and I''m wondering if it would be worth it to write my components COM based. I see that this engine might become big for me and my friends eventually, and if it''s COM based it;s easy to upgrade and everything is backword compatible. Main question, Is COM really that good?

Share this post


Link to post
Share on other sites
Read a good book on it and make your own decision. I doubt anybody wants to go into a detailed discussion of the finer points of the pros and cons of COM with you, but suffice it to say, there are plus points and negative points.

The one thing I AM seeing with more and more engines these days is separating everything out into dlls. FarCry''s executable (for the beta anyways) is only 28KB. But there''s 15MB of dlls alone right next to it.


daerid | Legends | Garage Games | Spirit | Hapy | Boost | Python | Google
"Doomed to crumble, unless we grow, and strengthen our communication" - Maynard James Keenan, Tool

Share this post


Link to post
Share on other sites
COM does have lots of advantages. There will be a bit more code involved in actually implementing your components, but probably not much more compared to the total ammount of code you''ll be dealing with, so that is negligable.

I would recommend giving COM a try. I''ve actually just started expirimenting with it myself, recently, and I''m very glad I''ve done so. Of course, like daerid said, "Read a good book" and "make your own decision".

Aside from pure technical aspects, however, there are other things to consider. For example, because COM has its "frozen interface" rule, which is a gloriously good idea, you''re more likely not to change those interfaces. What I''m meaning is, using something like COM will probably make you play a little nicer with your code.

Good look in your COM decisions, and your engine.

Share this post


Link to post
Share on other sites