从iPhone保存大量流数据的最佳方法

时间:2019-10-31 01:44:26

标签: ios objective-c iphone io metal

当前,我正在从iphone X传输图像和深度数据,并使用计算金属内核对其进行一系列计算。每个周期(帧)的输出大约为900,000浮点数。假设每秒有30个循环(帧),则表示每秒有2700万个浮点数。

我想将此数据保存几(3-5)秒到一个文件中,以便以后使用。

我当前的每个周期写入输出的方法太慢(I / O昂贵),而且我不确定如何正确缓冲几个周期的结果(我尝试创建一个数组数组,然后运行到内存中问题)。

从mtl缓冲区复制数据:

lastRefresh = driver.execute_script("return window.lastRefresh")

writeToFile:

    //number of elements per frame approx 300,000
    size_t len = elementCount
    finalArrayX = new float [len];
    finalArrayY = new float [len];
    finalArrayZ = new float [len];

    //MTLBuffers
    finalArrayX = (float*) resultsBufferX.contents;
    finalArrayY = (float*) resultsBufferY.contents;
    finalArrayZ = (float*) resultsBufferZ.contents;

    writeToFile(finalArrayX, finalArrayY, finalArrayZ)

最好的方法是什么?

0 个答案:

没有答案