2012年11月28日 星期三

Flash constrained mode: Targeted at devices that only support PS_2.0 level shaders like the Intel GMA 9xx series



Earlier versions of FlashPlayer 11 support hardware rendering for devices manufactured after 2008. The constrained mode extends this support to all devices released since 2005. 

How does it work?
In order to make your application work in constrained mode you just should set the second parameter of stage3D.requestContext3D() when requesting the context, in the following way:

stage3D.requestContext3D(Context3DRenderMode.AUTO, Context3DProfile.BASELINE_CONSTRAINED);

Targeted at devices that only support PS_2.0 level shaders like the Intel GMA 9xx series.

  • You are limited to 64 ALU and 32 texture instructions per shader.
  • Only four texture read instructions per shader.
  • No support for predicate register. This affects sln/sge/seq/sne, which you replace with compound mov/cmp instructions, available with ps_2_0.
  • The Context3D back buffer must always be within the bounds of the stage.
  • Only one instance of a Context3D running in Constrained profile is allowed within a Flash Player instance.
  • Standard display list list rendering is driven by Context3D.present() instead of being based on the SWF frame rate. That is, if a Context3D object is active and visible you must call Context3D.present() to render the standard display list.
  • Reading back from the back buffer through Context3D.drawToBitmapData() might include parts of the display list content. Alpha information will be lost.

Reference:

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display3D/Context3DProfile.html

http://blog.alternativaplatform.com/en/2012/09/05/constrained-mode-support/


沒有留言:

張貼留言