2009-08-14 5 views
1

J'écris une application qui fait beaucoup d'impression par lots, mais chaque impression prend plusieurs secondes à compléter. Je l'ai suivi jusqu'au getter de la propriété PageSettings.PrintableArea en System.Drawing.Printing - chaque appel à cela prend plus d'une seconde pour terminer!Pourquoi PageSettings.PrintableArea est-il si lent?

Quelqu'un peut-il nous éclairer sur la raison de cette situation et sur les améliorations possibles?

Répondre

1

Si vous regardez le code pour PrintableArea (dans Reflector), il fait beaucoup d'appels natifs vers le pilote d'imprimante. D'après mon expérience lors de l'impression à partir de .Net est lent, il a à voir avec le pilote d'imprimante. Configurez une imprimante factice avec un pilote d'imprimante générique ou avec le pilote HP4, et voyez si c'est plus rapide.

Si tel est le cas, essayez une version différente du pilote d'imprimante que vous utilisez actuellement.