Archived

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

Recommended Posts

I have two questions concerning dll´s. How much memory overhead is created when loading a dll into address-space? The other more important question is: Is there any performance penalty when calling a dll-function from another dll or the executable? I need to know this urgently since i am currently redesigning my game engine and I like DLLs more than static LIBs. Thanks in advance Incommunicado ======================= Nothing´s true, everything is permissible!

Share this post


Link to post
Share on other sites
Well...as for speed and overhead (I can''t give zou technical details), just consider the following: DirectX is all dll''s (heck it''s even COM) and it is pretty darn fast...if it''s fast enough for graphics, it should be fast enough for me.

- Sleepwalker

Share this post


Link to post
Share on other sites
I don''t know for the memory but it should be very little, nothing to worry about.

As for the speed, there is one when the dll is loaded, but once that is done, it is as fast as any other code.

If you load your dll using LoadLibrary, then you have control on when the dll is loaded. If you create an import lib and link your software with it, then you do not know when it is going to be loaded. But you are sure it will be loaded before the first time you use a function of that dll!!

Share this post


Link to post
Share on other sites
Greetings.

First of all, load-time DLLs will be loaded just then - at load time. Delay-load DLLs will be loaded when you call a function of that DLL, and they are new in VC++ 6.

Remember to *rebase your DLLs*. (Click the Profile button on my reply and find that post. Yes, I know I don''t post much new topics. )

Share this post


Link to post
Share on other sites