在iPhone应用程序中直接在屏幕上绘制单个像素的最快方法是什么?

时间:2008-12-23 16:09:02

标签: iphone cocoa-touch opengl-es

我正在寻找在iPhone应用程序中直接将数千个单独计算的像素直接绘制到屏幕上的最快方法。

4 个答案:

答案 0 :(得分:2)

为什么不使用OpenGL视图?

答案 1 :(得分:2)

最有可能使用OpenGL,例如:

glBegin(GL_POINTS);
glColor3f(...);
glVertex3f(...);
...
glEnd();

更快可能是使用vertex arrays来指定点数。

答案 2 :(得分:2)

在我曾经使用的所有图形框架中,你这样做的方法是将你的像素写入一块内存(例如ARGB或RGBA格式),然后将整个内存块推送到图形子系统。没有“绘制一点”API可能很快,如果你想快速绘制数千个像素,你需要推送图像/纹理/位图/无论你想要调用它,而不是推动单个点一个一次。

答案 3 :(得分:0)

我会创建一个视图大小的BMP,将其添加到视图中并绘制到BMP中。 Cocoa没有任何方法可以将单个像素绘制到视图中,除了使用长度为1像素的线条(如this Question提及)进行伪造。