Livecode Wiki

Determines whether the contents of windows, players, and images are buffered offscreen.


set the alwaysBuffer of {<stack> | <image> | <player>} to {true | false}


set the alwaysBuffer of this stack to true
set the alwaysBuffer of image "Smile" to false
set the alwaysBuffer of the templatePlayer to true

Use the alwaysBuffer property to eliminate unwanted flicker when objects are being redrawn. This property is especially useful for eliminating flicker when using animation in a stack.

Prior to 2.7, setting the alwaysBuffer of a stack to true would cause the stack's display to be double-buffered, eliminating flicker. However, 2.7 introduced a new rendering model which double-buffers a stack's contents as and when required. As a result, setting the alwaysBuffer of a stack no longer has any effect.

Setting an image's alwaysBuffer property to true forces the image to uncompress immediately, even if the image is hidden. This speeds up using the show command to display an image. Setting the alwaysBuffer property of all images to true is equivalent to setting the global bufferHiddenImages property to true.

Setting a player's alwaysBuffer property to true forces the movie to be drawn in an offscreen buffer. This prevents the movie from flickering when other objects (such as buttons) are drawn on top of it. It also allows the current frame to be seen when the card is printed.

If a player's movie contains only sound with no visual track, the setting of its alwaysBuffer property has no effect. If a player's alwaysBuffer is false, the movie it contains is drawn in front of all objects. The visual effect command does not affect the screen area inside the rectangle of a player whose alwaysBuffer is false. If a player's alwaysBuffer is true, it cannot be controlled with the [[controller bar]] and must be operated by script control.

Setting a player's alwaysBuffer to true always increases memory usage, and may make movie playing more jerky.

Changes: This property was removed from the Windows platform in version 8.1.0, due to the change of player implementation from QuickTime to DirectShow.

See also: lock screen (command),global (command),heapSpace (function),stacks (function),hasMemory (function),card (object),button (object),image (object),player (object),stack (object),screenSharedMemory (property),dontUseQT (property),script (property),constantMask (property),bufferHiddenImages (property),