Salut à tous, j'ai une méthode d'enregistrement qui écrit les notes qu'un utilisateur joue sur un tableau en temps réel. Le seul problème est qu'il y a un léger retard et que chaque séquence est sensiblement ralentie lors de la lecture. J'ai augmenté la vitesse de lecture d'environ 6 millisecondes, et ça sonne bien, mais je me demandais si le délai pourrait varier sur d'autres appareils?iOS - Problèmes de vitesse
J'ai testé sur un ipod touch 2ème génération, comment serait-ce préforme sur les 3ème et 4ème ainsi que les iphones? ai-je besoin de tester sur chacun d'eux et trouver la variation de délai optimale?
Des idées?
Plus d'infos: J'utilise deux NSThreads au lieu de minuteries et remplir un tableau avec des points blancs où aucune note doit jouer (j'utilise des entiers, -1 est un blanc). Toutes les 0,03 secondes, il ajoute un blanc lors de l'enregistrement. Chaque fois que l'utilisateur frappe une note, le blanc le plus récent est remplacé par un nombre 0-7. Lors de la lecture, le deuxième thread est utilisé (2 threads parce que le second a un intervalle de temps plus court) qui a un temps de 0.024. La différence de 6 millisecondes compense le retard entre l'enregistrement et la lecture.
Je suppose que l'enregistrement ou la lecture de notes prend plus de temps que l'autre et crée ainsi le retard.
Ce que je veux savoir, c'est si le délai sera différent sur d'autres appareils, et comment je devrais le compenser.
Exact Solution
je ne l'ai expliqué tout à fait, c'est pourquoi cette solution n'a pas été fournie, mais pour ceux qui ont un problème similaire ...
J'ai joué chaque temps similaire dans un fichier MIDI comme ceci:
while playing:
do stuff to play beat
new date xyz seconds from now
new date now
while now is not > date xyz seconds from now wait.
la chose évidente que je manquais était de créer les deux dates avant de jouer le rythme ...
D'OH!
« Salut à tous, j'ai une méthode d'enregistrement qui écrit les notes qu'un utilisateur joue à un tableau en temps réél." Vous allez devoir expliquer cela un peu plus clairement. –
Désolé, le point principal était que je veux savoir si le délai sera différent sur plusieurs appareils. Je vais coller un peu plus d'infos maintenant. –
Quel mécanisme utilisez-vous pour générer votre "Toutes les 0,03 secondes"? Vous dites que ce n'est pas une minuterie, alors comment déterminez-vous que le temps approprié est écoulé (rotation en boucle vérifiant l'horloge?) –