Objective c 为什么CGContextRef不是一个对象?

Objective c 为什么CGContextRef不是一个对象?,objective-c,core-graphics,cgcontext,Objective C,Core Graphics,Cgcontext,如果CGContextRef是一个实际对象,这不是更有意义吗? 现在,每当你想添加一条路径时,你都需要给出上下文。 如果说: [context addPath:myPath]; 而不是 CGContextAddPath(上下文,myPath) 这是一个结构还是这里的交易? 有人想详细说明一下吗?从程序员的角度来看,这可能更容易,但使用C语言的部分原因是为了性能。在执行图形密集型代码时,渲染时间很重要(几乎总是如此),您最不想做的事情就是分配大量临时对象。这是一个折衷方案——性能与可读性/可维护性

如果CGContextRef是一个实际对象,这不是更有意义吗? 现在,每当你想添加一条路径时,你都需要给出上下文。 如果说: [context addPath:myPath]; 而不是 CGContextAddPath(上下文,myPath)

这是一个结构还是这里的交易?
有人想详细说明一下吗?

从程序员的角度来看,这可能更容易,但使用C语言的部分原因是为了性能。在执行图形密集型代码时,渲染时间很重要(几乎总是如此),您最不想做的事情就是分配大量临时对象。这是一个折衷方案——性能与可读性/可维护性

正如Martin Ullrich提到的,在一些核心图形材料周围有一些Objective-C包装,但在使用Objective-C材料之前,最好先了解“引擎盖下”发生了什么(这会更容易,但速度会稍微慢一些)


顺便说一句,我所说的速度慢只是当你在做大量的绘图,并且你想要(或需要)保持良好的FPS/响应时的一个问题。例如,如果您正在绘制数百个形状和线条,您可能希望直接使用CG。如果您只是绘制一些形状/图像/文本,那么使用Obj-C包装器只会对性能产生微不足道的影响。

从程序员的角度来看,这可能更容易,但使用C的部分原因是为了性能。在执行图形密集型代码时,渲染时间很重要(几乎总是如此),您最不想做的事情就是分配大量临时对象。这是一个折衷方案——性能与可读性/可维护性

正如Martin Ullrich提到的,在一些核心图形材料周围有一些Objective-C包装,但在使用Objective-C材料之前,最好先了解“引擎盖下”发生了什么(这会更容易,但速度会稍微慢一些)


顺便说一句,我所说的速度慢只是当你在做大量的绘图,并且你想要(或需要)保持良好的FPS/响应时的一个问题。例如,如果您正在绘制数百个形状和线条,您可能希望直接使用CG。如果您只是绘制一些形状/图像/文本,那么使用Obj-C包装器只会对性能产生微不足道的影响。

CoreGrahics是用C语言编写的,周围没有Objective-C层。欢迎使用纯C,这些CG…Ref都只是一个指针。。您可以将内置函数用于上下文操作,如
[UIColor setFill]
[UIBezierPath setClip]
[UIBezierPath fill]
,……CoreGrahics是用C语言编写的,周围没有Objective-C层。欢迎使用纯C,这些CG…Ref都只是一个指针。。您可以将内置函数用于上下文操作,如
[UIColor setFill]
[UIBezierPath setClip]
[UIBezierPath fill]
。。。。。。。。