问题标签 [accelerate]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - 在 iOS/Swift 中使用 withMemoryRebound 时出现致命错误
我有以下代码来创建一个表格,用于使用 Swift 加速功能在 iOS 中对图像进行采样
当我将内存反弹到 UInt16 时,表创建期望来自 Int 的原始类型,我得到一个致命错误。
谁能在这里指出我的错误?
ios - 是否有 iOS 加速方法来进行元素最大值(np.maximum)?
我正在研究使用 iOS Accelerate 在移动设备上执行一些快速数学运算。我需要 numpy 中的 np.maximum 等价物。这是 2 ndarray 之间的元素最大值。
我一直在搜索与 Apple Accelerate Framework 相关的文档,但我发现其中没有任何内容可以直接执行此操作。
注意:Q 在下面得到了正确的回答,并通过以下方式进行了测试:
让:[浮点数] = [2, 4, 3, 8, 1, 10]
让 b: [浮点数] = [1, 5, 2, 1, 9, 1]
var c: [浮点数] = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
vDSP_vmax(a, 1, b, 1, &c, 1, 6)
C
在 Xcode 操场上。
ios - min(vector, scalar) 在 Apple Accelerate API 中是否可以按元素进行操作
我有一个向量 v 和一个标量 s(浮点数或双精度数)。我正在寻找一个可以在 Accelerate 中实现 min(v, s) 的函数,它应该返回一个向量 u,这样
我浏览了文档,我只在 vDSP 中看到了 2 个向量 min(v, v)。虽然,我可以间接创建一个具有重复元素 s 的相同长度的向量,然后调用此 API。但我认为这将是低效的。
c++ - 使用 swift 加速框架的指针
我正在编写一个使用 swift 使用常量 Q 变换的应用程序。在搜索互联网时,我偶然发现了一个 GitHub 代表,它使用 Apple 的加速框架但针对 C++ 实现了常量 q 变换
我已经通读并翻译了大部分代码,但是我被困在一个关于指针的关键部分。
原文显示:
在稍后的函数中,有这个:
该函数执行 FFT 并将结果返回给 complexPointer。
我相信这个想法是“内核”是一个矩阵,realp 或 imagp 中的每个条目都是从复杂指针函数返回的完整浮点数组。Xcode 中没有错误。
但是我对如何将这部分转换为 Swift 感到困惑。我做了以下事情:
和
我得到错误'无关&'。所以它不喜欢指向内核的指针。没有它,错误'无法将'Float'类型的值分配给'UnsafeMutablePointer''
所以我对从这里去哪里感到困惑,因为我不太了解 C++
arrays - 以编程方式为 DSPSplitComplex 复数创建存储阵列
我正在使用 Apple 的 Accelerate 框架。我正在使用 DSPSplitComplex 数字来处理复杂的向量。
我想创建一个过滤器库(过滤器数组)。为此,我遍历一个循环,并使用以下代码将结果添加到我的数组中:
上面的函数产生一个复杂的正弦波。我用以下方法调用该函数:
我的问题是使用 DSPSplitComplex 我正在创建指向函数中初始化的数组的指针。我无法直接在 Xcode 的调试区域中检查变量 s,但是我使用以下代码实现了这一点:
t.count 是过滤器的长度。将此数组的值与在 makeSine 函数中打印的值进行比较,它们都非常不同。因为这只是一个指针,我相信它没有传递实际值,并且这些数组正在被释放。
我的问题是我正在考虑迭代 makeSine(和其他函数)几百次,从而产生数百个 realp 和 imagp 数组。我如何以编程方式处理这些?
java - 如何以不同的速度移动背景位图?
我遇到了一个无法解释的问题。这可能是 android studio 中的一个缺陷。
主要是:我正在开发一款游戏,其中背景(草或树)向玩家相反的方向移动,非常简单。它们(草和玩家)都是 GameView 类中的位图,它扩展了 View 类。玩家静止不动,而草正在向左移动。
当我希望草以不同的速度移动时,问题就开始了。VARYING 是这里的关键字。发生的情况是,当草位图到达屏幕左边缘时,它的速度会无缘无故地降低!当草速恒定时不会发生这种情况。
我不知道如何克服这个问题。基本上我的目标是启用:玩家走得更快=草移动得更快。我希望您解决上述问题或提出替代解决方案。
我没有显示任何管理播放器的代码,以便更清楚地说明问题出在哪里。该问题完全由以下代码块表示:
ios - 错误:使用未声明的类型“加速”
Accelerate Framework
使用swift
将 YUV420 转换为 RGB 。
调用vImageConvert_420Yp8_Cb8_Cr8ToARGB8888
是抛出
线程 1:EXC_BAD_ACCESS(代码=1,地址=0x108bc9000)
在调试源和目标指针时显示此消息。
yPlaneBuffer 的打印描述:表达式产生错误:swift:1:65:错误:使用未声明的类型 'Accelerate' Swift._DebuggerSupport.stringForPrintObject(Swift.UnsafePointer(bitPattern: 0x108788240)!.pointee)
所有来源都会出现同样的错误yPlaneBuffer
,uPlaneBuffer
并且vPlaneBuffer
. 以下是我的代码。
swift - swift Accelerate:vDSP 枚举
我一直在使用新的 Accelerate 框架来优化我的所有向量计算。
我发现了以下名为 vDSp 的枚举,它避免了我重写整套矢量数学: https ://developer.apple.com/documentation/accelerate/vdsp-snv?changes=_2
但是,无法识别枚举(未发现此类错误)。枚举情况之一是均值,它采用向量并将均值作为双精度值返回。签名是:
有没有人遇到过这个,并且知道如何实现它?我想做类似的事情
这对我所做的非常有用
swift - How to deal with NaN in large arrays using swift
I am using the swift accelerate APIs to process some data. However a few of these data points contain NaN values (result of trying to divide a zero value).
My question is can I easily deal with this using any inbuilt swift function? I am looking at replacing all values of NaN with zero values so that I can still further process these large data sets without an error.
swift - 如何优化快速代码以在可以滚动和缩放的图形中实时绘制大型数据集
我正在快速编写自己的代码来绘制图表以显示大型数据集。(不使用现有框架的原因是我想使用对数和线性视图,以及用户与图形的交互)。我需要帮助来加快我的代码速度,以尝试让应用程序感觉响应,因为它目前太慢了。
我将我的数据集传递到我的幅度图类(UIView)中,并计算数据线(divLine)的坐标,并使用以下函数将它们保存为 UIBezierPath:
我没有直接从触发它的 UI 元素调用 setNeedsDisplay,而是调用 redrawGraph()。这会在后台线程中调用 calcDataCoOrdinates 函数,然后在计算完所有坐标后,我会在主线程上调用 setNeedsDisplay。
最后贴出实际绘图功能的代码:
此代码可以很好地计算三个数据集并在图表上查看它们。我已经排除了计算背景层(网格线)的代码,但这只是为了简化代码。
我得到的问题是,要尝试和处理“实时”交互性需要做很多事情。我认为我们需要大约 30 fps 的速度来感觉响应,这总共提供了大约 33 毫秒的处理和渲染时间。
现在,如果我说 32k 个数据点,目前正在测量这些数据点,那么 calcDataCoOrdinates 的三遍中的每一遍都可以在它们之间进行。22-36ms,总计约90ms。1/10 秒非常滞后,所以我的问题是如何加快速度?如果我测量实际的绘图过程,这目前非常低(1-2ms),这让我相信我的 calcDataCoOrdinates 函数需要改进。
我尝试了几种方法,包括使用 Douglas-Peucker 算法来减少数据点的数量,但是这是一个很大的时间成本(+100 毫秒)。
我尝试跳过重叠像素的数据点
我尝试尽可能多地使用加速框架,该函数的上半部分在大约 10 毫秒内运行,但下半部分将坐标放入 CGPoint 数组,并迭代生成 UIBezierPath 需要 20 毫秒。我尝试使用 CGPoints 预初始化 allPoints 数组,认为这会节省一些时间,但这仍然需要很长时间。
能否计算得更多。有效还是我达到了我的应用程序的限制?