FAQ TBarCode DLL / TBarCode Library
Comment améliorer la vitesse pour le multithreading ?
Comment améliorer la vitesse pour le multithreading ?
Il existe des sections critiques dans BCInitLibrary, DeInitLibrary, BCLicenseMe et BCInitDLL. Celles-ci sont nécessaires pour l'initialisation de tableaux statiques ou la copie de données. Des ressources exclusives sont également verrouillées (mais brièvement seulement) dans BCCreate et BCCheck.
Étapes pour améliorer la vitesse :
- Appelez BCInitLibrary et BCLicenseMe une seule fois au début du processus – pas pour chaque création de code-barres !
- Par thread : utilisez la séquence BCAlloc/…/BCCreate/../BCFree pour chaque création individuelle de code-barres.
- Par création de code-barres (au sein d'un même thread) : si vous souhaitez créer un autre code-barres avec des données différentes mais les mêmes propriétés de code-barres, il n'est pas nécessaire de refaire une séquence BCAlloc/../BCFree (cela ne fait que coûter du temps). Modifiez simplement les données du code-barres avec BCSetText, recréez le code-barres avec BCCreate, puis dessinez-le.
- BCCheck peut être omis, il n'est pas nécessaire dans ce scénario (car les données du code-barres sont également vérifiées dans BCCreate).
- L'allocation mémoire interne est utilisée plus efficacement si vous définissez les données du code-barres immédiatement avant d'appeler BCCreate(..).