Mon système d'enregistrement de mouvement survit maintenant toute la nuit. Il utilise beaucoup de mémoire, mais j'ai suffisamment maîtrisé la croissance de la mémoire pour qu'elle ne se bloque pas au moins maintenant. % _%
Notez qu'il y avait en fait trois fuites de mémoire distinctes dans le programme. J'ai corrigé deux d'entre eux, mais le dernier ne peut pas vraiment être corrigé sans abandonner les API du navigateur utilisées pour l'enregistrement vidéo. (Je finirai probablement par le faire de toute façon, mais j'ai suffisamment de temps, je me contente de travailler pour l'instant)
De plus, les trois fuites de mémoire étaient dues à des défauts dans Chrome / Electron! Plus précisément, les trois fuites de mémoire étaient dues à l'accumulation de mémoire pour les objets auxquels j'ai supprimé toutes les références (et connexions fonctionnelles) (ce qui signifie qu'ils devraient être récupérés). Les objets impliqués n'étaient jamais récupérés (par exemple, les instances de MediaRecorder), ou nécessitaient un appel 'shutdown' au-delà de la simple suppression de toutes les références (par exemple, MediaStream.tracks
- . Stop ()). Donc, fondamentalement, les fuites de mémoire se trouvaient dans les API de navigateur de niveau inférieur, mais j'ai réussi à trouver des moyens de 'contourner' suffisamment les fuites pour qu'au moins elles ne se bloquent plus.
Dans d'autres nouvelles, je suis devenu très impatient d'attendre le remplacement de ma Muse S, j'ai donc envoyé un autre e-mail demandant le numéro de suivi au retour. Cela fait maintenant deux semaines que mon colis a été reçu, et pas un coup d'œil depuis. : / (J'espère que c'est juste à cause de la sous-dotation en coronavirus, ou d'une erreur ou quelque chose, plutôt que de la lenteur générale de leur service de retour)
Quoi qu'il en soit, leurs réponses par e-mail plus tôt ont été assez rapides, alors j'espère que j'aurai une réponse lundi.
@Barsoom C'est une bonne idée d'utiliser l'identification à long terme des 'régions à fort changement', plutôt que de simplement vérifier image par image pour essayer de localiser les régions oculaires. Je vais essayer cette idée (ainsi que beaucoup d'autres) lorsque je travaillerai pour ajouter une fonctionnalité de localisation du visage / des yeux.
Oh aussi, à vous deux en ce qui concerne la capture de caméra de nuit: j'ai également remarqué (ce que vous avez remarqué) que je fais beaucoup de petits mouvements pendant la nuit! Par exemple, à quelques reprises, j'ai tourné la tête pour regarder vers la gauche, puis j'ai laissé ma tête dériver vers la droite pendant environ 15 secondes. Je ne sais pas pourquoi j'ai fait ça. Je ne sais pas non plus pourquoi j'ai couvert mon visage avec ma couverture à un moment donné (ce qui m'a ennuyé de regarder l'enregistrement car il a bloqué mes mouvements oculaires
) Quoi qu'il en soit, des trucs drôles.