Salut,
J'ai besoin de faire de la capture vidéo temps réel. Je travaille sous Windows 2000. Je dois écrire des images de 655Ko 25 fois par seconde. Cela me donne un débit d'écriture sur le disque d'environ 16Mo/s. Mon disque SCSI supporte largement cette vitesse d'écriture.
J'ai, dans un premier temps, mis au point mon application dans une console WIN32, j'écris sur le disque avec la fonction putc(), bien plus rapide que fwrite() (J'ai fait des tests). Cela fonctionne parfaitement, toutes les images sont écrites sur le disque, la led clignote calmement, pas de problème.
J'ai ensuite porté mon application sous Windows avec la librairie graphique ILOG (peut importe la librairie utilisée, le problème est identique avec les MFCs). Et là impossible d'écrire avec ce débit, le disque s'emballe (led reste allumée), j'arrive à peine capture 25% des images. J'ai essayé d'ajuster le buffer avec setvbuf() sans succès.
Je pense que la gestion des flux est différente, peut être parce que le thread de l'application WINDOWS n'est pas aussi bas niveau qu'une console Win32.
Quelqu'un a-t-il une idée pour résoudre ce problème? Plus généralement, quelqu'un sait-il optimiser l'écrire de données sur un diques SCSI, sous Windows?
Merci d'avance, toutes suggestions est le bien venue.
Message édité par gladiator le 08-08-2003 à 15:10:13