MonobjcMonobjc Documented Class Library
NSBackingStoreType Enumeration
NamespacesMonobjc.AppKitNSBackingStoreType

These constants specify how the drawing done in a window is buffered by the window device.

Available in Mac OS X v10.0 and later.

Declaration Syntax
C#Visual BasicVisual C++
public enum NSBackingStoreType
Public Enumeration NSBackingStoreType
public enum class NSBackingStoreType
Members
MemberDescription
NSBackingStoreRetained

The window uses a buffer, but draws directly to the screen where possible and to the buffer for obscured portions.

You should not use this mode. It combines the limitations of NSBackingStoreNonretained with the memory use of NSBackingStoreBuffered. The original NeXTSTEP implementation was an interesting compromise that worked well with fast memory mapped framebuffers on the CPU bus—something that hasn't been in general use since around 1994. These tend to have performance problems.

In Mac OS X 10.5 and later, requests for retained windows will result in the window system creating a buffered window, as that better matches actual use.

Available in Mac OS X v10.0 and later.


NSBackingStoreNonretained

The window draws directly to the screen without using any buffer.

You should not use this mode. It exists primarily for use in the original Classic Blue Box. It does not support Quartz drawing, alpha blending, or opacity. Moreover, it does not support hardware acceleration, and interferes with system-wide display acceleration. If you use this mode, your application must manage visibility region clipping itself, and manage repainting on visibility changes.

Available in Mac OS X v10.0 and later.


NSBackingStoreBuffered

The window renders all drawing into a display buffer and then flushes it to the screen.

You should use this mode. It supports hardware acceleration, Quartz drawing, and takes advantage of the GPU when possible. It also supports alpha channel drawing, opacity controls, using the compositor.

Available in Mac OS X v10.0 and later.


Version Information
  • Available in Monobjc Bridge: 10.6 (For Mac OS X 10.6 and later), 10.5 (For Mac OS X 10.5 and later)

Assembly: Monobjc.AppKit (Module: Monobjc.AppKit)