Zurück   Flashforum > Flash > Stuff

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 07-09-2006, 14:55   #16 (permalink)
muh
 
Benutzerbild von Janoscharlipp
 
Registriert seit: Apr 2002
Ort: Freiburg / Stuttgart
Beiträge: 4.338
Jep, der Schub ist heftig.

Aber ich denke mal, dass ein Großteil auf die abgeschaltete Transparenz und die veringerte BlurFilter-Qualtät zurück zu führen sind.
__________________
»Carpe diem«, sagte der Graf. (Terry Pratchett: Ruhig Blut!)
Janoscharlipp ist offline   Mit Zitat antworten
Alt 07-09-2006, 15:09   #17 (permalink)
habs vergessen
 
Benutzerbild von pwdVergesser
 
Registriert seit: Feb 2006
Beiträge: 990
@sal
na dann lass´ uns das morgen mal ansehen...
__________________
Blog/Lab Xing
pwdVergesser ist offline   Mit Zitat antworten
Alt 07-09-2006, 15:57   #18 (permalink)
habs vergessen
 
Benutzerbild von pwdVergesser
 
Registriert seit: Feb 2006
Beiträge: 990
was mich jetzt noch interessiert ist, ob cacheAsBitmap auf "buffer" verwendet
nochmal was rausreißt oder ob das in diesem Falle keine Auswirkung hat...

...werde ich heute abend mal rumspielen...


pwd
__________________
Blog/Lab Xing
pwdVergesser ist offline   Mit Zitat antworten
Alt 07-09-2006, 16:15   #19 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.366
@pwd
"mi casa et su casa"

cya, sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
salazar ist offline   Mit Zitat antworten
Alt 07-09-2006, 18:35   #20 (permalink)
\x3a\x6f\x29
 
Benutzerbild von [je]
 
Registriert seit: Apr 2004
Ort: paris
Beiträge: 806
Also der BlurFilter und die Transparenz sorgen nicht für diesen Performanceeinbruch den man auch im Standalone hat.

Man darf auch nicht vergessen, dass Math.sin und Math.cos ja jedes mal ausgeführt werden und zwar viel zu oft. Auch bei mir entdecke ich noch eine Dummheit wo ich grade drüber gucke

ActionScript:
  1. var cax: Number = cos( angle_x );
  2.         var sax: Number = sin( angle_x );
  3.         var cay: Number = cos( angle_y );
  4.         var say: Number = sin( angle_y );
  5.         var caz: Number = cos( angle_z );
  6.         var saz: Number = sin( angle_z );

Das gehört nicht in onEnterFrame sondern unter die Definition der Winkel. Da ändert sich ja nichts.

Noch etwas: screen.draw( buffer ). Müll in der for. Es reicht einmal den Buffer zu zeichnen, und nur einmal clear zu verwenden. Dann muss man nur einmal den lineStyle usw. setzen.

Wichtig sind auch viele kleine Geschichten die man schnell übersieht. Sachen wie "var bi: Array = bindings[ i ];" sind nicht zu unterschätzen wenn man es konsequent verfolgt.
__________________
joa ebert
http://blog.joa-ebert.com/ - http://www.joa-ebert.com/
[je] ist offline   Mit Zitat antworten
Alt 07-09-2006, 18:36   #21 (permalink)
\x3a\x6f\x29
 
Benutzerbild von [je]
 
Registriert seit: Apr 2004
Ort: paris
Beiträge: 806
Zitat:
Zitat von pwdVergesser
was mich jetzt noch interessiert ist, ob cacheAsBitmap auf "buffer" verwendet
nochmal was rausreißt oder ob das in diesem Falle keine Auswirkung hat...

...werde ich heute abend mal rumspielen...


pwd
Auf keinen Fall! Er muss ja immer neu Cachen. Wäre der Buffer vom visuellen Gesichtspunkt her statisch, dann wäre es sinnvoll, aber so nicht.

-- Edit --

Mit den restlichen optionalen Verbesserungen
PHP-Code:
/////////////////////////////////////////////////////
//  flat cubic burner
//  author : frank reitberger
//  site : http://www.dasprinzip.com
//  copyright 2006
/////////////////////////////////////////////////////

import flash.display.BitmapData;
import flash.filters.*;
import flash.geom.*;

//-- define points
var p0: Array = [
            { 
x: -100y: -100z: -100 },
            { 
x: +100y: -100z: -100 },
            { 
x: +100y: -100z: +100 },
            { 
x: -100y: -100z: +100 },
            { 
x: -100y: +100z: -100 },
            { 
x: +100y: +100z: -100 },
            { 
x: +100y: +100z: +100 },
            { 
x: -100y: +100z: +100 }];
            
//-- connect points
var b0:Array = new Array([0,1,0,1],[1,2,1,2],[2,3,2,3],[3,0,3,0],[4,5,4,0],[5,6,5,1],[6,7,6,2],[7,4,7,3]);

//-- cache angles
var ax:Number .01;
var 
ay:Number .0075;
var 
az:Number .005;

var 
sin: Function = Math.sin;
var 
cos: Function = Math.cos;
        
var 
caxNumber cosax );
var 
saxNumber sinax );
var 
cayNumber cosay );
var 
sayNumber sinay );
var 
cazNumber cosaz );
var 
sazNumber sinaz );

//-- stage
var wNumber Stage.width;
var 
hNumber Stage.height;
var 
screenBitmapData = new BitmapDatawhfalse);
var 
rectRectangle screen.rectangle;

//-- effect
var filterBlurFilter = new BlurFilter22);
var 
originPoint = new Point;
var 
dampColorTransform = new ColorTransform.91.98.991000);
var 
fxMatrix = new Matrix;
var 
trMatrix = new Matrix;
var 
bufMovieClip this.createEmptyMovieClip'__buffer__'0xff );

//-- setup screen
this.attachBitmapscreen);

//-- setup buffer
buf._visible false;

//-- transform
tr.tx tr.ty 200;

this.onEnterFrame = function( Void ): Void
{
    
//-- fade and filter
    
screen.drawscreenfxdamp );
    
screen.applyFilterscreenrectoriginfilter );
    
    
//-- draw next frame
    
buf.clear();        
    
buf.lineStyle10xffffff100 );
        
    for ( var 
iNumber 08i++ )
    {
        var 
bi: Array = b0];
                
        
buf.moveTop0bi] ].xp0bi] ].);
        
buf.lineTop0bi] ].xp0bi] ].);                
        
buf.moveTop0bi] ].xp0bi] ].);
        
buf.lineTop0bi] ].xp0bi] ].);        
    }
    
    
screen.drawbuftr );
        
    for ( var 
iNumber 08i++ )
    {
        var 
pObject p0];
        
        var 
pxNumber p.x;
        var 
pyNumber p.y;
        var 
pzNumber p.z;
        
        
p.py cax pz sax;
        
p.py sax pz cax;

        
py p.y;
        
pz p.z;

        
p.=  px cay pz say;
        
p.= -px say pz cay;

        
px p.x;

        
p.px caz py saz;
        
p.py caz px saz;
    }

__________________
joa ebert
http://blog.joa-ebert.com/ - http://www.joa-ebert.com/

Geändert von [je] (07-09-2006 um 18:52 Uhr)
[je] ist offline   Mit Zitat antworten
Alt 07-09-2006, 20:55   #22 (permalink)
Knopfmaler
 
Benutzerbild von Aerks
 
Registriert seit: Nov 2004
Ort: Essen
Beiträge: 227
Zitat:
und du schiesst ihm eine volle Breitseite rein... aua.
Oh Sorry. Wusste gar nicht, daß man hier neuerdings nur noch *knuddel* *knuddel* schreibt, wenn jemand Feedback haben möchte.
Der Herr R. wird das schon überleben.

Zitat:
...der Hintergrund hat einen Verlauf - evtl. nicht auf deinem Monitor...
Oh.. stimmt ist mir gestern gar nicht aufgefallen.

Zitat:
..."Mensch Thoooooorsten" ...ist doch nur mal eben als Flash-Filter-Spaß gedacht.
Zum ansehen...
Dann darfst du aber keinen Source posten. Ist doch wohl klar, daß der dann hier zersägt wird.

Na schön. Dann bin ich eben ein Nickelprinz... und wehe [je] bekommt keine solche Ansage nachdem er das "nur zum Ansehen"-Beispiel komplett umgeschrieben hat.

Viele Gruesse
=:] Aerks
__________________
______________________________________________
www.rgblaster.de
Aerks ist offline   Mit Zitat antworten
Alt 07-09-2006, 21:44   #23 (permalink)
habs vergessen
 
Benutzerbild von pwdVergesser
 
Registriert seit: Feb 2006
Beiträge: 990
@Aerks
Zitat:
Oh Sorry. Wusste gar nicht, daß man hier neuerdings nur noch *knuddel* *knuddel* schreibt, wenn jemand Feedback haben möchte.
Der Herr R. wird das schon überleben.
...stimmt. der herr r. kommt drüber weg!


Zitat:
Na schön. Dann bin ich eben ein Nickelprinz...
..."Nickelprinz"??? Ich würde eher sagen Aerks == AOL-Fan for live...

Zitat:
und wehe [je] bekommt keine solche Ansage nachdem er das "nur zum Ansehen"-Beispiel komplett umgeschrieben hat.
...du weißt doch - solche ansagen sind speziel für "herrn W." reserviert!

...hatte ich doch bei der eröffnung des threads geschrieben:
Zitat:
Und hier mal was zum nachvollziehen und rumspielen
im übrigen ist das nächste "Bier trinken" schon mehr als überfällig?

@salazar

...nur um hier spanisch korrekte korrinten zu kacken,
es heißt:

Zitat:
mi casa es su casa




pwd
__________________
Blog/Lab Xing

Geändert von pwdVergesser (07-09-2006 um 22:19 Uhr)
pwdVergesser ist offline   Mit Zitat antworten
Alt 08-09-2006, 06:10   #24 (permalink)
Knopfmaler
 
Benutzerbild von Aerks
 
Registriert seit: Nov 2004
Ort: Essen
Beiträge: 227
Zitat:
im übrigen ist das nächste "Bier trinken" schon mehr als überfällig?
Ja. Wäre mal wieder fällig. Vielleicht nächstesmal irgendwo in Düsseldorf?

Viele Gruesse
=:] Aerks
__________________
______________________________________________
www.rgblaster.de
Aerks ist offline   Mit Zitat antworten
Alt 09-09-2006, 15:21   #25 (permalink)
habs vergessen
 
Benutzerbild von pwdVergesser
 
Registriert seit: Feb 2006
Beiträge: 990
in Düsseldorf - na juut...

pwd
__________________
Blog/Lab Xing
pwdVergesser ist offline   Mit Zitat antworten
Alt 22-09-2006, 14:43   #26 (permalink)
will code HTML for food
 
Benutzerbild von querkopf
 
Registriert seit: Mar 2003
Beiträge: 1.232
fand besonders den pseudo 3d part hier sehr inspirierend

hab' hier mal ein wenig damit gespielt....

Code:
/////////////////////////////////////////////////////
//  flat cubic burner
//  author : frank reitberger
//  site : http://www.dasprinzip.com
//  copyright 2006
/////////////////////////////////////////////////////
import flash.display.BitmapData;
import flash.filters.*;
import flash.geom.*;
//-- define points
// var p0:Array = [{x:-100, y:-100, z:-100}, {x:+100, y:-100, z:-100}, {x:+100, y:-100, z:+100}, {x:-100, y:-100, z:+100}, {x:-100, y:+100, z:-100}, {x:+100, y:+100, z:-100}, {x:+100, y:+100, z:+100}, {x:-100, y:+100, z:+100}];
// var p0:Array = [{x:-100, y:-100, z:-100}, {x:+100, y:-100, z:-100}, {x:+100, y:-100, z:+100}, {x:-100, y:-100, z:+100}, {x:0, y:+100, z:0}];
// var p0:Array = [{x:-100, y:0, z:-100}, {x:+100, y:0, z:-100}, {x:+100, y:0, z:+100}, {x:-100, y:0, z:+100}, {x:0, y:+200, z:0}, {x:0, y:-200, z:0}];
var p0:Array = [{x:-20, y:-20, z:-20}, {x:+20, y:-20, z:-20}, {x:+20, y:-20, z:+20}, {x:-20, y:-20, z:+20}, {x:-20, y:+20, z:-20}, {x:+20, y:+20, z:-20}, {x:+20, y:+20, z:+20}, {x:-20, y:+20, z:+20}, {x:0, y:0, z:-150}, {x:+150, y:0, z:0}, {x:0, y:0, z:+150}, {x:-150, y:0, z:0}, {x:0, y:-150, z:0}, {x:0, y:+150, z:0}];
//-- connect points
// var b0:Array = new Array([0, 1, 0, 1], [1, 2, 1, 2], [2, 3, 2, 3], [3, 0, 3, 0], [4, 5, 4, 0], [5, 6, 5, 1], [6, 7, 6, 2], [7, 4, 7, 3]);
// var b0:Array = new Array([0, 1, 0, 4], [1, 2, 1, 4], [2, 3, 2, 4], [3, 0, 3, 4], [4, 1, 4, 0]);
// var b0:Array = new Array([0, 1, 0, 4], [1, 2, 1, 4], [2, 3, 2, 5], [3, 0, 3, 5], [4, 2, 4, 3], [5, 0, 5, 1]);
var b0:Array = new Array([0, 1], [1, 2], [2, 3], [3, 0], [4, 5, 4, 0], [5, 6, 5, 1], [6, 7, 6, 2], [7, 4, 7, 3], [8, 0, 8, 1, 8, 4, 8, 5], [9, 1, 9, 2, 9, 5, 9, 6], [10, 2, 10, 3, 10, 6, 10, 7], [11, 0, 11, 3, 11, 4, 11, 7], [12, 0, 12, 1, 12, 3, 12, 2], [13, 4, 13, 5, 13, 6, 13, 7]);
//-- cache angles
var ax:Number = .01;
var ay:Number = .0075;
var az:Number = .005;
var sin:Function = Math.sin;
var cos:Function = Math.cos;
var cax:Number = cos(ax);
var sax:Number = sin(ax);
var cay:Number = cos(ay);
var say:Number = sin(ay);
var caz:Number = cos(az);
var saz:Number = sin(az);
//-- stage
var w:Number = Stage.width;
var h:Number = Stage.height;
var screen:BitmapData = new BitmapData(w, h, false, 0);
var rect:Rectangle = screen.rectangle;
//-- effect
var filter:BlurFilter = new BlurFilter(2, 2, 1);
var origin:Point = new Point();
var damp:ColorTransform = new ColorTransform(.95, .95, .95, 1, 0, 0, 0, 0);
var fx:Matrix = new Matrix();
var tr:Matrix = new Matrix();
var buf:MovieClip = this.createEmptyMovieClip('__buffer__', 0xff);
//-- setup screen
this.attachBitmap(screen, 1);
//-- setup buffer
buf._visible = false;
//-- transform
tr.tx = 300;
tr.ty = 190;
var p0L:Number = p0.length;
this.onEnterFrame = function(Void):Void 
{
	//-- fade and filter
	screen.draw(screen, fx, damp);
	screen.applyFilter(screen, rect, origin, filter);
	//-- draw next frame
	buf.clear();
	buf.lineStyle(1, 0xffffff, 80);
	for (var i:Number = 0; i < p0L; i++)
	{
		var bi:Array = b0[i];
		for (var j:Number = 0; j < bi.length; j += 2)
		{
			buf.moveTo(p0[bi[j]].x, p0[bi[j]].y);
			buf.lineTo(p0[bi[j + 1]].x, p0[bi[j + 1]].y);
		}
	}
	screen.draw(buf, tr);
	for (var i:Number = 0; i < p0L; i++)
	{
		var p:Object = p0[i];
		var px:Number = p.x;
		var py:Number = p.y;
		var pz:Number = p.z;
		p.y = py * cax - pz * sax;
		p.z = py * sax + pz * cax;
		py = p.y;
		pz = p.z;
		p.x = px * cay + pz * say;
		p.z = -px * say + pz * cay;
		px = p.x;
		p.x = px * caz - py * saz;
		p.y = py * caz + px * saz;
	}
};
Bis dann,
-querkopf-
__________________
Alles ist wie immer. Nur schlimmer.
querkopf ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 18:27 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele