NecroDOME

Yes this is exactly the overall concept I'm using. I wanted to take a step further and make it as general and natural as possible.

1. So the first thing was the have the DLL share memory with the client so that any object created on either side can be handled and uses transparently.

2. Next I wanted the classes on the client side to be able to be extended in the expected manner.

3. I wanted the client-side extended classes to be able to called from the DLL side in the normal and expected way.

I too was concerned about the additional overhead. The past few release of PGSDK have been using incremental parts of this and the performance has been great. The final specification has introduced one more layer of abstraction (all virtual methods on both the dll/client side). Now that I've got the PGSDK converted I can start to do performance testing to make sure things will be ok. I will release some sample code so that others may also do peer review. Together we can optimize/improve areas they may need it.