Si tu charges une quarantaine d'images en RAM, le disque dur aura le temps de se réveiller le temps que les quarante soient passées. C'est faisable sans multithreading au fait
Oui mais non, si la mise en RAM des images n'est pas "threadée", avant ou après chaque image que tu vas lire, tu vas charger une autre image (même si elle est 40 frames plus loin). Il suffit d'avoir une "pause" assez longue pour que le HD "s'endorme" pour retrouver une latence assez grande lors du prochain mouvement. Donc il me semble assez indispensable de threader la mise en cache des images.
Bon en fait il y a sans doute moyen de le faire sans thread mais ça risque d'être plus compliqué qu'avec. Par ailleurs, il ne faut pas oublier non plus que le programme (ou une partie de sa mémoire) risque d'être mis en swap, donc ça ne règle pas tous les problèmes. Une solution est de ne pas mettre de swap sur les machines concernées ou d'utiliser mlock(2) (mais sous Linux, seul root peut le faire, sous BSD par exemple tout le monde peut mlock(2)er des pages mais avec un nombre limite).
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
[^] # Re: peut-être une connerie
Posté par Krunch (courriel, site web personnel) . En réponse au journal Vidéo/Images - Je vais et je viens. Évalué à 3.
Bon en fait il y a sans doute moyen de le faire sans thread mais ça risque d'être plus compliqué qu'avec. Par ailleurs, il ne faut pas oublier non plus que le programme (ou une partie de sa mémoire) risque d'être mis en swap, donc ça ne règle pas tous les problèmes. Une solution est de ne pas mettre de swap sur les machines concernées ou d'utiliser mlock(2) (mais sous Linux, seul root peut le faire, sous BSD par exemple tout le monde peut mlock(2)er des pages mais avec un nombre limite).
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.