He creado una biblioteca de clases con algunos de geoprocesamiento. El complemento se llama a una clase que es asincronica proceso. Me han asegurado que el hilo es STA y la arcobjects son seguros para subprocesos (es decir. no pasa del complemento). Todos arcobjects se crean dentro de la rosca.
Debido a que esta es una biblioteca de clase me envolvió en una winforms interfaz de usuario y también como un complemento. Ambos conjuntos de código son exactamente los mismos y la prueba se realiza utilizando los mismos datos. Tanto el winforms y complemento de completar el código con los resultados deseados y no hay pérdidas de memoria son evidentes. Para el caso de que el complemento no hay ninguna interacción con el mapa período en este punto y no hay ninguna asignación o los elementos de la pantalla en la winforms código.
la única interfaz de usuario actualizaciones la actualización de un diálogo de progreso en tanto el complemento y la interfaz de usuario. El complemento es el uso de una ventana acoplable (control de usuario interfaz de usuario).
El problema que yo veo es cuando la biblioteca se llama desde el complemento, la ejecución de código es 5 veces más lento que el mismo código de llamada a través de la aplicación de winforms.
Alguna idea sobre dónde podría mirar a ver por qué está sucediendo esto?