Zurück   Flashforum > Flash > Flash Fortgeschritten > Flash 8

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 05-10-2005, 00:58   #76 (permalink)
- Der ActionScripter -
 
Registriert seit: Jun 2001
Ort: germany
Beiträge: 108
Zitat:
Zitat von Quasimondo
Verdammt ich bin natürlich wieder voll auf die Breite 200 reingefallen.
hihi, wusste ich auch noch nicht

Zitat:
Zitat von Quasimondo
Ich mache beides, aber wenn man mit Numbers arbeitet, verbrät man das obere Byte halt automatisch mit.
würd ich sagen: platz für 255 steuerzeichen ich benutze das oberste byte im moment als zähler für die farbwiederholung. verbrät aber ne menge bei so einem "unflächenhaften" kamerabild.

aber das soll erstmal für heute reichen. muss morgen wieder früh (naja was man so unter früh versteht als programmierer) raus


grüsse und gn8
__________________

Tobias Fendel
lieber heimlich schlau, als unheimlich laut

[TrashCan] [Die ActionScripter] [IRC-FlashChat]
YellowSky ist offline   Mit Zitat antworten
Alt 05-10-2005, 01:04   #77 (permalink)
Neuer User
 
Benutzerbild von Quasimondo
 
Registriert seit: Nov 2003
Ort: München
Beiträge: 114
Habe eben noch zur besseren Vergleichbarkeit einen Timer eingebaut. Losgezählt wird bei mir ab dem saveBitmap() Kommando, gestoppt wird sobald beim User die "Speichern unter" Box aufgeht. Den Download kann man ja wohl vernachlässigen, außerdem würde die Zeit die der User zum Bestätigen benötigt ja das Ergebnis verfälschen.

Jetzt aber ins Bett,
__________________
[Quasimondo | incubator | talks
Quasimondo ist offline   Mit Zitat antworten
Alt 05-10-2005, 01:11   #78 (permalink)
LiquidFrames
 
Registriert seit: Jun 2003
Beiträge: 412
klingt nice 8)
das mit dem 0x8000 hab ich nur zum teil gerafft...aber um diese uhrzeit kann man das auch nicht von mir verlangen !

huffman hatte ich voll vergessen (RL is so hard ^^) ...aber hier is mal meine aktuelle version...

ich hab nich aufgeräumt! ..wollts nurmal uploaden



aber deine komprimierung klingt witzig...kannst du vieleicht mal ermitteln wieviel % komprimierung du damit hast? so im durchschnitt eines normalen webcam bildes (ergänzend vieleicht mal mit der std regenbogen füllen als einheits maß )
Angehängte Dateien
Dateityp: zip huffman.zip (9,5 KB, 85x aufgerufen)
Hugo1of2 ist offline   Mit Zitat antworten
Alt 05-10-2005, 07:49   #79 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
Wenn Marios Farbtabelle nur 0x8000*2 Einträge hat, wird es schwierig mit einem Regenbogen Aber die kommen ja eh selten vor.

mfg. r
bokel ist offline   Mit Zitat antworten
Alt 05-10-2005, 08:53   #80 (permalink)
- Der ActionScripter -
 
Registriert seit: Jun 2001
Ort: germany
Beiträge: 108
Zitat:
Zitat von Quasimondo
Habe eben noch zur besseren Vergleichbarkeit einen Timer eingebaut. Losgezählt wird bei mir ab dem saveBitmap() Kommando, gestoppt wird sobald beim User die "Speichern unter" Box aufgeht.

uhh, das dauert aber seeeeeeeehr lang. 42s zeigt er hier bei nem snapshot mit "normalen" lichtverhältnissen. da ist meine routine http://tmp.actionscripter.de/flash2jpg/ aber erheblich schneller im moment. ok, der download der datei wird bei mir nicht mitgerechnet, aber selbst mit dem kommt das ganze auf nur etwa 10-12s. kann es sein, dass du excessiv mit toString() arbeitest? jede string-operation bremst die sache nämlich wahnsinnig aus.


grüsse
__________________

Tobias Fendel
lieber heimlich schlau, als unheimlich laut

[TrashCan] [Die ActionScripter] [IRC-FlashChat]
YellowSky ist offline   Mit Zitat antworten
Alt 05-10-2005, 10:25   #81 (permalink)
Neuer User
 
Benutzerbild von Quasimondo
 
Registriert seit: Nov 2003
Ort: München
Beiträge: 114
Ja, ich finde auch, das das zum Teil sehr lange dauert. Das liegt aber auch stark an den Antwortzeiten meines Servers. Der hat momentan etwas viel zu tun. Das Zusammenbauen mit ImageMagick statt GD soll angeblich wesentlich schneller gehen.

Wenn ich das hier mit localhost teste, komme ich bei normalen Lichtverhältnissen im Durchschnitt auf 2,5 Sekunden. Vielleicht sollte ich noch einen Timer einbauen der die reine Komprimierzeit anzeigt.

Aber ich muß sagen, Dein Teil ist ja wirklich verdammt fix. Wie ist es da mit größeren Bildern?
__________________
[Quasimondo | incubator | talks

Geändert von Quasimondo (05-10-2005 um 10:35 Uhr)
Quasimondo ist offline   Mit Zitat antworten
Alt 05-10-2005, 12:59   #82 (permalink)
- Der ActionScripter -
 
Registriert seit: Jun 2001
Ort: germany
Beiträge: 108
Zitat:
Zitat von Quasimondo
Aber ich muß sagen, Dein Teil ist ja wirklich verdammt fix. Wie ist es da mit größeren Bildern?
die frage bei meiner "komprimierung" ist eigentlich nicht, wie gross ein bild ist, sondern wie viele verschiedene farben aufeinander folgen. je mehr grössere einfarbige flächen auftauchen, umso schneller geht das ganze. wenn du mein beispiel nimmst und alles rot ausmalst, dann braucht der test lokal grad mal 0.5 sekunden für das ganze bild incl. upload (im web je nach connection etwa 2-3 sekunden).

aber wie gesagt: für bestehende bilder, die man verändern will, halte ich die methode des bilduploads für unsinnig. da schickt man nur, was man verändert hat und baut es auf dem server nach. ich sehe nur eine anwendung, die diese art von datenaustausch sinnvoll macht und das ist die webcam. und gerade dafür ist mein ansatz der kompression eher kontraproduktiv, da ich bei jedem farbwert einen zähler (im dümmsten fall 1 - im besten 255) mitsende, der 2 byte gross ist. damit mache ich webcambilder unter umständen sogar grösser.

ich hab mir inzwischen huffman reingezogen und stelle fest, dass der auch sehr lange braucht (sch*** lahmes string-gematsche in flash). ergo bleibt bei meinen bisherigen erkenntnissen nur die methode, die farben nach der häufigkeit zu indizieren und dann eine farbpalette plus bilddaten als indizes zu erstellen und zu verschicken. das ist relativ schnell in flash zu lösen (webcam-bild braucht etwa 1.5 sekunden für die berechnung). ob das noch zu optimieren geht weiss ich noch nicht. da werd ich mich dann heut abend mal ransetzen und rumprobieren

ansonsten wäre ich für ideen dankbar, die vielleicht ne ganz andere methode darstellen und in flash ohne grosses string-gemauschel zu realisieren sind. über deine "farbdifferenz-methode" grüble ich derzeit noch nach...


grüsse
__________________

Tobias Fendel
lieber heimlich schlau, als unheimlich laut

[TrashCan] [Die ActionScripter] [IRC-FlashChat]
YellowSky ist offline   Mit Zitat antworten
Alt 05-10-2005, 13:10   #83 (permalink)
LiquidFrames
 
Registriert seit: Jun 2003
Beiträge: 412
das mit den meist vertretenen farben hab ich gestestet ^^...mein tip: achte drauf das r,g und b gleich berechtigt sind...beim normalen sortieren haste nen graues bis blaues bild xD

ich bin wohl der einzigste der soeinen fehler macht xD wollts ablassen.
Hugo1of2 ist offline   Mit Zitat antworten
Alt 05-10-2005, 13:27   #84 (permalink)
Neuer User
 
Benutzerbild von Quasimondo
 
Registriert seit: Nov 2003
Ort: München
Beiträge: 114
Zitat:
Zitat von YellowSky
ansonsten wäre ich für ideen dankbar, die vielleicht ne ganz andere methode darstellen und in flash ohne grosses string-gemauschel zu realisieren sind. über deine "farbdifferenz-methode" grüble ich derzeit noch nach...
Nur noch mal zur Präzisierung - ich bilde keine Differenz zwischen den Farben, sondern zwischen den Indizes der Farben in der Palette.
__________________
[Quasimondo | incubator | talks
Quasimondo ist offline   Mit Zitat antworten
Alt 05-10-2005, 17:56   #85 (permalink)
Neuer User
 
Benutzerbild von Quasimondo
 
Registriert seit: Nov 2003
Ort: München
Beiträge: 114
Ich habe übrigens gerade festgestellt, das String.fromCharCode(0) in Flash 8 anscheinend wenigstens kein Unheil mehr anrichtet. Es wird einfach nur ignoriert:

ActionScript:
  1. var a=new String()
  2. for (i=0;i<256;i++){
  3. a+=String.fromCharCode(i);
  4. }
  5. trace(a.charCodeAt(0)); // Ergibt 1
  6. trace(a.length) // Ergibt 255
  7. trace(a) // Wird brav angezeigt
  8.  

Und Strings sind ja wirklich verdammt schnell geworden, selbst wenn sie sehr lang werden. Ich schätze, da werde ich auch nochmal kucken ob ich nicht umsteige.
__________________
[Quasimondo | incubator | talks
Quasimondo ist offline   Mit Zitat antworten
Alt 05-10-2005, 20:40   #86 (permalink)
- Der ActionScripter -
 
Registriert seit: Jun 2001
Ort: germany
Beiträge: 108
Zitat:
Zitat von Hugo1of2
das mit den meist vertretenen farben hab ich gestestet ^^...mein tip: achte drauf das r,g und b gleich berechtigt sind...beim normalen sortieren haste nen graues bis blaues bild xD
r,g und b werden nicht getrennt. eine farbe ist eine dezimalzahl, da kann nichts passieren

@Quasimondo: yup schon klar. aber farb-indizes-differenz klingt doof und was die strings betrifft: ich habe nicht das gefühl, dass die schneller geworden sind. zumindest ist das toString(16) weiterhin der absolute performance-killer.


grüsse
__________________

Tobias Fendel
lieber heimlich schlau, als unheimlich laut

[TrashCan] [Die ActionScripter] [IRC-FlashChat]
YellowSky ist offline   Mit Zitat antworten
Alt 05-10-2005, 23:22   #87 (permalink)
Neuer User
 
Benutzerbild von Quasimondo
 
Registriert seit: Nov 2003
Ort: München
Beiträge: 114
Hast Du schon mal das hier probiert:

Variante A:
ActionScript:
  1. var t:Number=getTimer();
  2. var b:String;
  3. for (i=0;i<0xffff;i++){
  4.     b = i.toString(16);
  5. }
  6. trace(getTimer()-t);


Variante B:
ActionScript:
  1. var hex:Array = Array();
  2. for (var i=0;i<0xffff;i++){
  3.     hex.push(i.toString(16));
  4. }
  5.  
  6. var t:Number=getTimer();
  7. var b:String;
  8. for (i=0;i<0xffff;i++){
  9.     b = hex[i];
  10. }
  11. trace(getTimer()-t);

Also bei mir ist Variante B mehr als doppelt so schnell. Ich denke das könnte nützlich sein. Und ein Array mit 65536 Einträgen sollte in Zeiten von Bitmap-Opluent ja kein Problem mehr sein.
__________________
[Quasimondo | incubator | talks
Quasimondo ist offline   Mit Zitat antworten
Alt 17-10-2005, 16:41   #88 (permalink)
Lumbebub
 
Benutzerbild von KlarkKent
 
Registriert seit: Nov 2001
Ort: Frankfurt am Main
Beiträge: 126
nachdem man ja jetzt schön in der Language Reference von AS3.0 stöbern kann, hab ich mich an diesen Tread erinnernt und könnte mir denken das folgendes vielleicht später mal mal nützlich werden könnte....

flash.utilClass ByteArray
Object
|
+--flash.util.ByteArray


All implemented interfaces DataInput, DataOutput

--------------------------------------------------------------------------------


public class ByteArray
extends Object

The ByteArray class provides methods and properties to optimize reading, writing, and working with binary data.
Note: The ByteArray class is for advanced ActionScript developers who need to access data on the byte level.

In-memory the data is a packed array (the most compact representation for the data type) of bytes, but an instance of the ByteArray class can be manipulated with the standard ActionScript array access operators: [ and ]. It also can be read/written to as an in-memory file, using methods similar to those in the URLStream and Socket classes.

In addition, zlib compression/decompression is supported, as well as AMF object serialization.

Possible uses of the ByteArray class include the following:

Creating a custom protocol to connect to a server.
Writing your own URLEncoder/URLDecoder.
Writing your own AMF/Remoting packet.
Optimizing the size of your data by using data types.
__________________
BOMBTHEWORLD2 | KLARKKENT.DE
KlarkKent ist offline   Mit Zitat antworten
Alt 18-10-2005, 11:11   #89 (permalink)
~
 
Benutzerbild von Alienhunter
 
Registriert seit: Sep 2001
Ort: zufikon
Beiträge: 153
Das ist sicher nützlich ( ab AS3 )

http://livedocs.macromedia.com/labs/...html#compress()

Gruss @all
Alienhunter ist offline   Mit Zitat antworten
Alt 14-12-2005, 09:38   #90 (permalink)
Lumbebub
 
Benutzerbild von KlarkKent
 
Registriert seit: Nov 2001
Ort: Frankfurt am Main
Beiträge: 126
Question

@Mario:
Gibts bei dir eigentlich etwas neues bezüglich deiner Klasse oder hast du das Projekt aus Zeitmangel eingestellt ? Würd mich brennend interessieren
__________________
BOMBTHEWORLD2 | KLARKKENT.DE
KlarkKent 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 23:05 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele