<div class="wenti">Contenu de la question</div>
<br><p>J'ai une fonction dans Android comme indiqué ci-dessous, elle est un peu lente et constitue le goulot d'étranglement de mon application en temps réel. Je pense le rendre plus rapide d'une manière ou d'une autre, peut-être via GPU ou toute autre méthode possible. Comment utiliser la parallélisation pour la rendre plus rapide et plus efficace ? </p>
<pre class="brush:php;toolbar:false;">private int[] getArray (ByteBuffer byteBuffer) {
int[] array = new int[width * height];
FloatBuffer fb = byteBuffer.asFloatBuffer();
for (int i = 0; i < width* height; i++) {
float probability = 1 - floatBuffer.get();
if (probability > 0.9) {
array[i] = originalBuffer[i];
}
}
return array;
}</pre>
<p>Le contexte est utilisé pour segmenter les tâches. Fondamentalement, le modèle ml renvoie un masque dans un tampon d'octets. Je le passe à cette fonction pour rendre le fond rose. Ceci est à titre de référence seulement. </p>
<br><h2 class="daan">Bonne réponse</h2>
<br><p> (le commentaire est trop long) mais vous pouvez le faire facilement : Remplacer </p>
<pre class="brush:php;toolbar:false;">float probability = 1 - floatbuffer.get();
if (probability > 0.9) {</pre>
<p>Par </p>
<pre class="brush:php;toolbar:false;">if (floatbuffer.get() < 0.1) {</pre>
<p>Aussi : honnêtement, je ne sais pas si le compilateur a écrit un code machine pour calculer <code>width*height</code> le critère d'abandon dans <strong>chaque </strong> boucle (j'espère/je pense <strong>pas </strong>) >). Mais essayez-le : ajoutez cette ligne </p>
<pre class="brush:php;toolbar:false;">int product = width*height;
int[] array = new int[product];</pre>
<p>Puis installez-vous</p>
<pre class="brush:php;toolbar:false;">for (int i = 0; i < product; i++) {</pre>
<p>De cette façon vous éliminez toutes les opérations arithmétiques de la boucle (sauf l'essentiel <code>i++</code> 和 <code><</code> ). </p>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!