<div class="wenti">Kandungan soalan</div>
<br><p>Saya mempunyai fungsi dalam android seperti yang ditunjukkan di bawah, ia agak perlahan dan menjadi kesesakan aplikasi masa sebenar saya. Saya berfikir untuk menjadikannya lebih pantas entah bagaimana, mungkin melalui gpu atau sebarang kaedah yang mungkin. Apakah beberapa cara untuk menggunakan penyejajaran untuk menjadikannya lebih pantas dan lebih cekap? </p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><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><div class="contentsignin">Salin selepas log masuk</div></div>
<p>Konteks digunakan untuk membahagikan tugas. Pada asasnya, model ml mengembalikan topeng dalam penimbal bait. Saya menyampaikannya kepada fungsi ini untuk menjadikan latar belakang merah jambu. Ini adalah untuk rujukan sahaja. </p><br/><h2 class="daan">Jawapan betul</h2><br/><p> (komen terlalu panjang) tetapi anda boleh melakukannya dengan mudah: Gantikan </p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false;">float probability = 1 - floatbuffer.get();
if (probability > 0.9) {</pre><div class="contentsignin">Salin selepas log masuk</div></div>
<p>Oleh </p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false;">if (floatbuffer.get() < 0.1) {</pre><div class="contentsignin">Salin selepas log masuk</div></div>
<p>Juga: Sejujurnya saya tidak tahu sama ada pengkompil menulis kod mesin untuk mengira <code>width*height</code> kriteria pengguguran dalam <strong>setiap </strong> gelung (saya harap/fikir <strong>bukan </strong) >). Tetapi cuba: tambah baris ini </p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false;">int product = width*height;
int[] array = new int[product];</pre><div class="contentsignin">Salin selepas log masuk</div></div>
<p>Kemudian sediakan</p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false;">for (int i = 0; i < product; i++) {</pre><div class="contentsignin">Salin selepas log masuk</div></div>
<p>Dengan cara ini anda menghapuskan semua operasi aritmetik dalam gelung (kecuali yang penting <code>i++</code> 和 <code><</code> ). </p>
Atas ialah kandungan terperinci Optimumkan gelung Java Android dan salin beberapa tatasusunan yang elemennya disifarkan berdasarkan tatasusunan topeng FloatBuffer. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!