FAQ TBarCode DLL / TBarCode Library
Come posso migliorare la velocità per il multi-threading?
Come posso migliorare la velocità per il multi-threading?
Esistono sezioni critiche in BCInitLibrary, DeInitLibrary, BCLicenseMe e BCInitDLL. Sono necessarie per l'inizializzazione di array statici o la copia di dati. Vengono inoltre bloccate (ma solo brevemente) risorse esclusive in BCCreate e BCCheck.
Passaggi per migliorare la velocità:
- Richiamate BCInitLibrary e BCLicenseMe solo una volta all'inizio del processo, non per ogni creazione di codice a barre!
- Per thread: utilizzate la sequenza BCAlloc/…/BCCreate/../BCFree per ogni singola creazione di codice a barre.
- Per creazione di codice a barre (all'interno di un thread): se volete creare un altro codice a barre con dati diversi ma le stesse proprietà, non è necessaria un'altra sequenza BCAlloc/../BCFree (costa solo tempo). Modificate semplicemente i dati del codice a barre con BCSetText, ricreate il codice a barre con BCCreate e poi disegnatelo.
- BCCheck può essere omesso, non è necessario in questo scenario (poiché i dati del codice a barre vengono controllati anche in BCCreate).
- L'allocazione di memoria interna viene utilizzata in modo più efficace se impostate i dati del codice a barre immediatamente prima di richiamare BCCreate(..).