Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 在objective-c/objective-c中移动图像像素++_Iphone_Objective C_Ios_Objective C++ - Fatal编程技术网

Iphone 在objective-c/objective-c中移动图像像素++

Iphone 在objective-c/objective-c中移动图像像素++,iphone,objective-c,ios,objective-c++,Iphone,Objective C,Ios,Objective C++,我有一个应用程序,通过蓝牙接收流数据,并希望在图像中显示流数据。对于RGB,数据仅为RGB值0-255。它在C语言中工作得很好,但我在iphone上做同样的事情时遇到了麻烦。在C语言中,它被实现为一个队列。当新的一行数据到达时,我将一行像素排出来,然后将新的一行像素排队。然后,我将队列写入图像像素阵列。这似乎比读取整个图像、移动图像、添加新数据然后写入像素阵列要快。在C语言中,有一种方法允许我将队列转换为数组,因为队列没有连续内存。我的问题是,有没有比从队列手动重新填充数组更快的方法?或者有没有

我有一个应用程序,通过蓝牙接收流数据,并希望在图像中显示流数据。对于RGB,数据仅为RGB值0-255。它在C语言中工作得很好,但我在iphone上做同样的事情时遇到了麻烦。在C语言中,它被实现为一个队列。当新的一行数据到达时,我将一行像素排出来,然后将新的一行像素排队。然后,我将队列写入图像像素阵列。这似乎比读取整个图像、移动图像、添加新数据然后写入像素阵列要快。在C语言中,有一种方法允许我将队列转换为数组,因为队列没有连续内存。我的问题是,有没有比从队列手动重新填充数组更快的方法?或者有没有比使用队列更快的方法?图像只需要移动X像素数,然后将X像素的新像素写入图像中的空白点。无论哪种方式,我都不知道如何将队列转换为数组,因为除了第一个值之外,访问任何内容的唯一方法是从队列中取出值。有什么建议吗

iOS设备上的瓶颈不在于将队列转换为数组,而在于将位图数组放入设备的显示图像或纹理内存中。此路径可以通过使用平铺层进行优化,并且仅更新平铺末端的像素。然后,你可以在滚动视图中滚动平铺层,以排列最新的流数据。

你是否要求对所描述的模式进行优化的C版本,或者是要求一个目标C++实现吗?Objto-C还是ObjuleC++实现。我以前从未使用过平铺图层。你有任何显示如何使用它的链接吗?苹果开发者网站有两个例子,但有更多的例子总是很有帮助的。如果你想使用OpenGL:在上一次WWDC上,GL讨论了可用于与GPU共享内存的新功能。。。如果您想要更高的性能,可能会有所帮助。