Да как бы особо нечего описывать.

Код AS3:
package app {
import flash.display.BitmapData;
import flash.display.DisplayObject;
import flash.display.Shader;
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageQuality;
import flash.display.StageScaleMode;
import flash.events.Event;
import flash.net.URLLoader;
import flash.net.URLLoaderDataFormat;
import flash.net.URLRequest;
public class Main extends Sprite
{
private var shader:Shader;
public function Main()
{
stage.align = StageAlign.TOP_LEFT;
stage.frameRate = 60;
stage.quality = StageQuality.LOW;
stage.scaleMode = StageScaleMode.NO_SCALE;
//
var loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.BINARY;
loader.addEventListener(Event.COMPLETE, prepareShader);
loader.load(new URLRequest('pb/test.pbj'));
addEventListener(Event.ENTER_FRAME, render);
}
private function prepareShader(event:Event):void
{
var loader:URLLoader = event.target as URLLoader;
shader = new Shader(loader.data);
}
private function render(event:Event = null): void
{
if(shader)
{
graphics.clear();
graphics.beginShaderFill(shader);
graphics.drawRect(0, 0, stage.stageWidth, stage.stageHeight);
graphics.endFill();
}
}
}
}
Шейдер -- просто вывод цвета.
При размере мувика 1600х800 получается 8-12 фпс (атлон 3000). Аналогично если использовать drawTriangles или делать applyFilter для битмапа.
В пикселбендере тот же шейдер в таком размере дает огромные фпс.
Вопрос -- можно ли достичь того же во флеше.