Not logged in, Join Here! or Log In Below:  
 
News Articles Search    
 

 Home / General Programming / Component Object Model Account Manager
 
Archive Notice: This thread is old and no longer active. It is here for reference purposes. This thread was created on an older version of the flipcode forums, before the site closed in 2005. Please keep that in mind as you view this thread, as many of the topics and opinions may be outdated.
 
Jaap Suter

April 10, 1999, 04:17 PM



Using an abstract base class in DLL's and then loadlibrary and then getProcAddres for each and every function seems way too much overhead for just being able to put new DLL's in you rasterizer directory and then benefit from new(er) API's.

Is COM the way to go? It seems easy: CoCreateInstance and then QueryInterface.

Does anybody know some good resources about writing a Component Object? I already checked out MSDN and www.microsoft.com/com but i'd rather have some none Microsoft info cause that leaves another look on it.

Thanks!

Jaap Suter

 
Jaap Suter

April 13, 1999, 04:36 PM

I bought a book about com today. It's very cool. Expect an article soon about how COM applies to games.

See ya!

 
DirtyPunk

April 25, 1999, 10:14 AM



Jaap Suter wrote:
>>I bought a book about com today. It's very cool. Expect an article soon about how COM applies to games.
>>
>>See ya!
You mentioned overhead? GetProcAddress only needs to happen at load time then its like a normal
function call.


 
Johan Anderzon

April 27, 1999, 12:25 PM



DirtyPunk wrote:
>>
>>
>>Jaap Suter wrote:
>>>>I bought a book about com today. It's very cool. Expect an article soon about how COM applies to games.
>>>>
>>>>See ya!
>>You mentioned overhead? GetProcAddress only needs to happen at load time then its like a normal
>>function call.
>>
>>

COM uses interfaces where all functions are virtual, so you get the overhead of calling virtual functions too.

 
Harmless

May 02, 1999, 02:54 PM

DirtyPunk wrote:
>>You mentioned overhead? GetProcAddress only needs to happen at load time then its like a normal function call.

Not quite. Calling a function obtained with GetProcAddress is calling a function off of a pointer which doesn't get predicted and takes longer. It has all the overhead of a virtual function call.

On the other hand if you statically link against a DLL, when its loaded the linker immediately changes all the places in your code that refer to functions in the DLL, which can make for faster calls into a DLL, at the cost of greater dependancy on its existance and contents.

Then again, I'm just nitpicking because I'm bored. =)

-Harmless

 
Jaap Suter

May 06, 1999, 07:00 PM

Yes that is right. THe performance overhead is exactly the same. The overhead I mean however
was the implementation overhead and the overhead for a client to use a component. This are
significantly reduced when using COM.

IMHO

Jaap Suter

 
dac

May 28, 1999, 06:55 PM

Hi, Jaap!

What happend to the COM article?

 
Jaap Suter

June 08, 1999, 06:56 AM

It's all explained in my tech file update;

Thanks for the interest!:)

 
This thread contains 8 messages.
 
 
Hosting by Solid Eight Studios, maker of PhotoTangler Collage Maker.