<doc>
  <legacy_id>1985</legacy_id>
  <name>alwaysBuffer</name>
  <type>property</type>
  <syntax>
    <example>set the alwaysBuffer of {<i>stack</i> |<i> image</i> |<i> player</i>} to {true | false}</example>
  </syntax>
  <library></library>
  <objects>
    <image/>
  </objects>
  <synonyms>
  </synonyms>
  <classification>
    <category>Appearance &amp; Positioning</category>
    <category>Images &amp; Multimedia</category>
  </classification>
  <references>
    <property tag="screenSharedMemory">screenSharedMemory Property</property>
    <property tag="constantMask">constantMask Property</property>
    <command tag="lock screen">lock screen Command</command>
    <function tag="hasMemory">hasMemory Function</function>
    <function tag="heapSpace">heapSpace Function</function>
  </references>
  <history>
    <introduced version="1.0">Added.</introduced>
    <changed version="2.7"></changed>
  </history>
  <platforms>
    <mac/>
    <windows/>
    <linux/>
    <ios/>
    <android/>
  </platforms>
  <classes>
    <desktop/>
    <server/>
    <web/>
    <mobile/>
  </classes>
  <security>
  </security>
  <summary>Determines whether the contents of windows, <glossary tag="player">players</glossary>, and <glossary tag="image">images</glossary> are <href tag="glossary/The_System/290.xml">buffered</href> offscreen.</summary>
  <examples>
    <example>set the alwaysBuffer of this stack to true</example>
    <example>set the alwaysBuffer of image "Smile" to false</example>
    <example>set the alwaysBuffer of the templatePlayer to true</example>
  </examples>
  <description>
    <p>Use the <b>alwaysBuffer</b> <glossary tag="property">property</glossary> to eliminate unwanted flicker when <glossary tag="object">objects</glossary> are being <glossary tag="redraw">redrawn</glossary>. This <glossary tag="property">property</glossary> is especially useful for eliminating flicker when using animation in a <object tag="stack">stack</object>.</p><p/><p><b>Value:</b></p><p>The <b>alwaysBuffer</b> of an <glossary tag="object">object</glossary> is true or false. By <keyword tag="default">default</keyword>, the <b>alwaysBuffer</b> <glossary tag="property">property</glossary> of newly created <glossary tag="image">images</glossary>, <glossary tag="player">players</glossary>, and <function tag="stacks">stacks</function> is set to false.</p><p/><p><b>Comments:</b></p><p>Prior to 2.7, setting the <b>alwaysBuffer</b> 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 stacks contents as and when required. As a result, setting the <i>alwaysBuffer</i> of a stack no longer has any effect.</p><p/><p>Setting an image's <b>alwaysBuffer</b> <glossary tag="property">property</glossary> to true forces the <keyword tag="image">image</keyword> to <glossary tag="uncompress">uncompress</glossary> immediately, even if the <keyword tag="image">image</keyword> is hidden. This speeds up using the <command tag="show">show</command> command to display an <keyword tag="image">image</keyword>. Setting the <b>alwaysBuffer</b> <glossary tag="property">property</glossary> of all <glossary tag="image">images</glossary> to true is equivalent to setting the <command tag="global">global</command>  <property tag="bufferHiddenImages">bufferHiddenImages</property> <glossary tag="property">property</glossary> to true.</p><p/><p>Setting a player's <b>alwaysBuffer</b> <glossary tag="property">property</glossary> to true forces the movie to be drawn in an offscreen <href tag="glossary/The_System/290.xml">buffer</href>. This prevents the movie from flickering when other <glossary tag="object">objects</glossary> (such as <glossary tag="button">buttons</glossary>) are drawn on top of it. It also allows the current frame to be seen when the <keyword tag="card">card</keyword> is printed.</p><p/><p>If a player's movie contains only sound with no visual track, the setting of its <b>alwaysBuffer</b> <glossary tag="property">property</glossary> has no effect.</p><p>If a player's <b>alwaysBuffer</b> is false, the movie it contains is drawn in front of all <glossary tag="object">objects</glossary>. The <command tag="visual effect">visual effect</command> <glossary tag="command">command</glossary> does not affect the screen area inside the <keyword tag="rectangle">rectangle</keyword> of a <keyword tag="player">player</keyword> whose <b>alwaysBuffer</b> is false. If a player's <b>alwaysBuffer</b> is true, it cannot be controlled with the <glossary tag="controller bar">controller bar</glossary> and must be operated by <property tag="script">script</property> <keyword tag="control">control</keyword>.</p><p/><p><b>Note:</b> Setting a <glossary tag="player">player's</glossary> <b>alwaysBuffer</b> to true always increases memory usage, and may make movie playing more jerky.</p><p/><p><b>Note:</b> The <b>alwaysBuffer</b> property has no effect on Windows if the global <property tag="dontUseQT">dontUseQT property</property> is set to true.</p><p/>
  </description>
</doc>