Based on the last few questions you asked, it looks like you are completely confusing CGLayers and CALayers. They are different concepts and are not related to each other. CGLayer is a Core Graphics constructor that helps in rendering content multiple times within the Core Graphics context canvas and is limited to a single presentation, raster or PDF context. I rarely had to work with CGLayer.
CALayer is a Core Animation layer, and there is one support for each UIView in iOS (and NSViews with layer support on Mac). You do this all the time on iOS because they are a fundamental part of the user interface architecture. Each UIView is a lightweight wrapper around CALayer, and each CALayer, in turn, is actually a wrapper around a textured square on the GPU.
When displaying a UIView on the screen, you first need to visualize the very first content (or when a full redraw starts). Core Graphics is used to transfer your lines, arcs, and other vector artwork (sometimes including bitmap bitmaps as well) and rasterize them into a bitmap. This bitmap is then downloaded and cached to the GPU through your CALayer.
For changes in the interface, such as viewing, moving, rotating, scaling, etc., these views or layers do not need to be redrawn, which is an expensive process. Instead, they are simply converted to a GPU and assembled in a new location. This is what provides smooth animation and scrolling throughout the iOS interface.
Therefore, you will want to avoid using Core Graphics to redraw anything if you want better performance. Indicate which parts of the scene you can use in CALayers or UIViews. Think about how old-style animations used cels to contain parts of the scene that they were moving, rather than animators redrawing every change in the scene.
You can easily get hundreds of CALayers to seamlessly animate your screen on modern iOS devices. However, if you want to make thousands of points for something like a particle system, you will be better off working by switching to OpenGL ES for this and using GL_POINTS. It will take a lot more code to tune, but it may be the only way to get acceptable performance for the "thousand points" you are asking for.