Sophie

Sophie

distrib > Mageia > 5 > x86_64 > media > core-release > by-pkgid > 153d0af731f0d339c2d8906c7fa02f25 > files > 207

directfb-doc-1.7.5-4.mga5.noarch.rpm

<HTML>
<STYLE>
  <!--
    A{textdecoration:none}
  -->
</STYLE>
<STYLE type="text/css">
  A:link, A:visited, A:active { text-decoration: none; }
</STYLE>
<HEAD>
  <TITLE>IDirectFBSurface - ReleaseSource [DirectFB Reference Manual]</TITLE>
</HEAD>
<BODY bgcolor=#C0C8D8 link=#2369E0 vlink=#2369E0 text=#232323>

<TABLE width=100% bgcolor=#8090A0 border=0 cellspacing=0 cellpadding=5>
  <TR><TD width=30%>
    <A href="http://www.directfb.org"><IMG border=0 src="dfb_logo-alpha.png"></A>
  </TD><TD align=right>
    &nbsp;&nbsp;    <A href="index.html"><FONT size=+3 color=#203040>Reference Manual - 1.7.5</FONT></A>
  </TD></TR>
  <TR><TD colspan=2 align=center bgcolor=#284460>
    <TABLE border=0 cellspacing=0 cellpadding=0>
      <TR><TD nowrap align=right width=50%>
        <BIG><FONT color=#D0D0D0><A href="IDirectFBSurface.html">  <FONT color=#D0D0D0>IDirectFBSurface</FONT></A>&nbsp;</FONT></BIG>
      </TD><TD nowrap align=left width=50%>
        <BIG><FONT color=#E09040>&nbsp;ReleaseSource</FONT></BIG>
      </TD></TR>
    </TABLE>
  </TD></TR>
</TABLE>

<H4>
        Release possible reference to source surface.
</H4>
  <TABLE border=0 cellspacing=4 cellpadding=2 bgcolor=#D8E0E8>
    <TR><TD colspan=5><I><FONT color=#425469><A href="types.html#DFBResult">DFBResult</A> <b>ReleaseSource (</b></FONT></I></TD></TR>
    <TR><TD width=50>
      &nbsp;
    </TD><TD valign=top>
      <A href="IDirectFBSurface.html">IDirectFBSurface</A>
    </TD><TD width=20>&nbsp;</TD><TD align=right>
      <FONT color=#424242><B>*</B></FONT>
    </TD><TD valign=top>
      <FONT color=#234269><B>thiz</B></FONT>
    </TD></TR>
    <TR><TD colspan=5><I><FONT color=#425469><b>);</b></FONT></I></TD></TR>
  </TABLE>
</P>
<P>
        For performance reasons the last surface that has been used for Blit() and others stays
        attached to the state of the destination surface to save the overhead of reprogramming
        the same values each time.
 </P><P>
        That leads to the last source being still around regardless of it being released
        via its own interface. The worst case is generation of thumbnails using StretchBlit()
        from a huge surface to a small one. The small thumbnail surface keeps the big one alive,
        because no other blitting will be done to the small surface afterwards.
 </P><P>
        To solve this, here's the method applications should use in such a case.
</P>

<TABLE width=100% bgcolor=#E0E8F0 border=0 cellspacing=1 cellpadding=3>
  <TR><TD width=100>
    <a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/">    <img alt="Creative Commons License" style="border-width:0" border="0"     src="http://i.creativecommons.org/l/by-sa/3.0/88x31.png" />    </a>  </TD><TD>
    This work is licensed under a    <a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/">    Creative Commons Attribution-Share Alike 3.0 License</a>  </TD></TR>
</TABLE>
</BODY>
</HTML>