Rumah >Java >Optimumkan gelung Java Android dan salin beberapa tatasusunan yang elemennya disifarkan berdasarkan tatasusunan topeng FloatBuffer

Optimumkan gelung Java Android dan salin beberapa tatasusunan yang elemennya disifarkan berdasarkan tatasusunan topeng FloatBuffer

王林
王林ke hadapan
2024-02-06 09:06:031199semak imbas
<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> <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>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> <pre class="brush:php;toolbar:false;">float probability = 1 - floatbuffer.get(); if (probability > 0.9) {</pre> <p>Oleh </p> <pre class="brush:php;toolbar:false;">if (floatbuffer.get() < 0.1) {</pre> <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> <pre class="brush:php;toolbar:false;">int product = width*height; int[] array = new int[product];</pre> <p>Kemudian sediakan</p> <pre class="brush:php;toolbar:false;">for (int i = 0; i < product; i++) {</pre> <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!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam