首页 > Java > 优化 Android Java 循环,根据 FloatBuffer 掩码数组复制一些元素归零的数组

优化 Android Java 循环,根据 FloatBuffer 掩码数组复制一些元素归零的数组

王林
发布: 2024-02-06 09:06:03
转载
1171 人浏览过
<div class="wenti">问题内容</div> <br><p>我在 android 中有一个如下所示的函数,它有点慢,是我的实时应用程序的瓶颈。我正在考虑以某种方式使其更快,也许通过 gpu 或任何可能的方法。有哪些方法可以使用并行化使其更快、更高效?</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">登录后复制</div></div> <p>上下文用于分割任务。基本上,ml 模型在字节缓冲区中返回一个掩码。我将它传递给这个函数以使背景变成粉红色。在此仅供参考。</p><br/><h2 class="daan">正确答案</h2><br/><p>(评论太长)但是你可以轻松做到:替换</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">登录后复制</div></div> <p>由</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">登录后复制</div></div> <p>而且:老实说,我不知道编译器是否编写了一个机器代码来计算 <code>width*height</code> 在<strong>每个</strong>循环中计算中止标准(我希望/认为<strong>不是</strong) >)。但尝试一下:添加该行</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">登录后复制</div></div> <p>然后设置</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">登录后复制</div></div> <p>这样,你就消除了循环中的所有算术运算(除了必不可少的 <code>i++</code> 和 <code><</code> )。</p>

以上是优化 Android Java 循环,根据 FloatBuffer 掩码数组复制一些元素归零的数组的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:stackoverflow.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板