• beyond tellerrand – play. Register Now!
Zurück   Flashforum > Flash > Flash Fortgeschritten > Flash MX 2004

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 29-09-2004, 00:27   #1 (permalink)
Neuer User
 
Registriert seit: Sep 2003
Beiträge: 8
Textfeld bzw Textarea wird immer langsamer!

Hallo,

habe da mal ne frage bzw ein problem.

Habe einen chat mit socket server ( php ) und als client flash, was wohl nichts mit meinem problem zu tun hat :-)

Der text wird in einem textfeld gepostet ( html ). Um so mehr zeilen hinzukommen um so langsamer wird es, bei 100 zeilen ist es echt schon sehr lahm. Wenn ich das textfeld lösche, also die variable auf "" setze gehts wieder schön fix.

Ich möchte natürlich nicht immer das textfeld löschen, es soll natürlich auch scrollbar sein, damit ich auf die alten nachrichten zurückgreifen kann die ich vor einer std geschrieben habe.

Eine lösung wäre alles in ein array reinzuschreiben, schön und gut, nur wie stelle ich das ganze dar und wie verknüpfe ich das mit der scrollleiste?

Gruß,
OlliT
OlliT ist offline   Mit Zitat antworten
Alt 29-09-2004, 01:15   #2 (permalink)
Neuer User
 
Benutzerbild von reion
 
Registriert seit: Apr 2004
Ort: St. Florian
Beiträge: 459
hmm ... is ja auch klar ... weil di variable immer länger wird, und weil du schätzomativ das ganze auf dem onEnterFrame liegen hast ...

du könntest ne zwischen variable setzen

also zB
textfeld.value .= aktuelle_zeile

damit würdest du dir die eine variable oder halt array sparen, in dem alle zeilen sind ...
__________________
www.reion.tk
---
*nastyBasty, *nonverbla, *miii, *specs2, *kikuchiro, *Tom(2), *Tarantoga, *Prist0r, *heidlbeer, *silentx, *socratez, *isildur, *mmgraphics, *tackle_zone, *raschu, *-+FleshMen 08+-, *guz3l, *Flashyrobin, *teddy86+, *Jasper99, *Don Krawallo, *pLan58+, Sly-Design+, *obscur+, *mxpro-filer+; P |SL, e621, destroy90210, Karsten572, simon ventura, tasovi, salami04, Mulitreiber, dat brot, boyi, rosco, gaspode, dirkgently, Sash^noob; / *X-Production, mika97, derBauer1234, strolchi04 \
reion ist offline   Mit Zitat antworten
Alt 01-10-2004, 12:22   #3 (permalink)
Neuer User
 
Registriert seit: Sep 2003
Beiträge: 8
Es liegt auf dem 2. Frame, das erste ist das login. Wenn neue daten dazu kommen, sag ich ihm er soll ganz ans ende scrollen.

Hab das aber mit der "zwischen" variable nicht ganz verstanden, ich muss es doch trotzdem in die textfeld variable schreiben.
Könntest du mir das vielleicht etwas genauer eklären?

Gruß,
OlliT
OlliT ist offline   Mit Zitat antworten
Alt 01-10-2004, 12:58   #4 (permalink)
Neuer User
 
Benutzerbild von reion
 
Registriert seit: Apr 2004
Ort: St. Florian
Beiträge: 459
naja ... poste mal den script welches den text in das textfeld reinhaut ... ich mein alle relevanten dinge (dass der text gespeichert bleibt, dass der text eingefügt wird, etc...) ....
__________________
www.reion.tk
---
*nastyBasty, *nonverbla, *miii, *specs2, *kikuchiro, *Tom(2), *Tarantoga, *Prist0r, *heidlbeer, *silentx, *socratez, *isildur, *mmgraphics, *tackle_zone, *raschu, *-+FleshMen 08+-, *guz3l, *Flashyrobin, *teddy86+, *Jasper99, *Don Krawallo, *pLan58+, Sly-Design+, *obscur+, *mxpro-filer+; P |SL, e621, destroy90210, Karsten572, simon ventura, tasovi, salami04, Mulitreiber, dat brot, boyi, rosco, gaspode, dirkgently, Sash^noob; / *X-Production, mika97, derBauer1234, strolchi04 \
reion ist offline   Mit Zitat antworten
Alt 02-10-2004, 17:36   #5 (permalink)
Neuer User
 
Registriert seit: Sep 2003
Beiträge: 8
function serverXML(doc){
server_from = doc.toString();
if ( server_from.substr(0, 6) == "SYSTEM") {
handleCommand = server_from.split("_", 2);

switch ( handleCommand[1] ) {
//***
}
}
else {
viewer.text += server_from + newline;
viewer.vPosition = viewer.maxVPosition;
}
}
OlliT ist offline   Mit Zitat antworten
Alt 02-10-2004, 17:51   #6 (permalink)
Neuer User
 
Benutzerbild von reion
 
Registriert seit: Apr 2004
Ort: St. Florian
Beiträge: 459
hmm ... naja
ich kann da keinen fehler oder unnötigen code erkennen ...

du hast nicht mal ne zwischenvariable, die sich vergrößern könnte, weil dein textfeld direkt mit .text angesprochen wird...

hmm ... was passiert eigentlich wenn der doc string leer ist ... dann wird das auch ausgeführt ... ev mal else if (... != "") ...

hmm ... aber sonst is da nix, was was verlangsamen könnte ... sorry
__________________
www.reion.tk
---
*nastyBasty, *nonverbla, *miii, *specs2, *kikuchiro, *Tom(2), *Tarantoga, *Prist0r, *heidlbeer, *silentx, *socratez, *isildur, *mmgraphics, *tackle_zone, *raschu, *-+FleshMen 08+-, *guz3l, *Flashyrobin, *teddy86+, *Jasper99, *Don Krawallo, *pLan58+, Sly-Design+, *obscur+, *mxpro-filer+; P |SL, e621, destroy90210, Karsten572, simon ventura, tasovi, salami04, Mulitreiber, dat brot, boyi, rosco, gaspode, dirkgently, Sash^noob; / *X-Production, mika97, derBauer1234, strolchi04 \
reion ist offline   Mit Zitat antworten
Alt 05-10-2004, 16:54   #7 (permalink)
Neuer User
 
Registriert seit: Sep 2003
Beiträge: 8
Doch, es wird aber langsamer, wenn 100 zeilen drin stehen... es steht ja viel mehr code drin, ist ja html, als man sieht, und jede neue zeile verlangsamt es noch mehr, dachte du hättest nen lösungsansatz mit dem array, wie ich das mit dem textfeld auslesen könnte, und zwar nur die bestimmte zahl an zeilen.

Gruß,
OlliT
OlliT ist offline   Mit Zitat antworten
Alt 08-10-2004, 15:47   #8 (permalink)
Neuer User
 
Benutzerbild von reion
 
Registriert seit: Apr 2004
Ort: St. Florian
Beiträge: 459
jaja ... das geht ... wennst nur ne bestimmte anzahl willst

das is kein problem:

mom

ActionScript:
  1. if (zeilen.length > 4) { //bei 5 gewünschten elementen - zeilen ist der array mit den msgs
  2.     for (text in zeilen) { //es kann bei der for-schleife vorkommen, dass die verkehrt ausgegeben werden
  3.                            //dann halt nen zeilen.reverse() vor dieser schleife einbauen
  4.         viewer.text += i + newline;
  5.     }
  6.     viewer.vPosition = viewer.maxVPosition;
  7.     zeilen.shift(); //Array klein halten
  8. }

so kannst du zB jetzt nur die letzten 5 Elemente eines Arrays anzeigen lassen bzw wird der array immer auf 5 elementen gehalten
__________________
www.reion.tk
---
*nastyBasty, *nonverbla, *miii, *specs2, *kikuchiro, *Tom(2), *Tarantoga, *Prist0r, *heidlbeer, *silentx, *socratez, *isildur, *mmgraphics, *tackle_zone, *raschu, *-+FleshMen 08+-, *guz3l, *Flashyrobin, *teddy86+, *Jasper99, *Don Krawallo, *pLan58+, Sly-Design+, *obscur+, *mxpro-filer+; P |SL, e621, destroy90210, Karsten572, simon ventura, tasovi, salami04, Mulitreiber, dat brot, boyi, rosco, gaspode, dirkgently, Sash^noob; / *X-Production, mika97, derBauer1234, strolchi04 \

Geändert von reion (08-10-2004 um 15:50 Uhr)
reion ist offline   Mit Zitat antworten
Alt 14-10-2004, 16:33   #9 (permalink)
Neuer User
 
Registriert seit: Sep 2003
Beiträge: 8
Danke für deine Antwort :-)

Ich hab es noch nicht ausprobiert nur mal deinen lösungsvorschlag durchgelesen.

Ich möchte das array ja nicht "klein" halten, da soll alles drin bleiben, es sollen halt nur die bestimmten zeilen, je nachdem wie groß das fenster gezogen ist, z.B. 20 zeilen in dem textfeld dargestellt werden. Also muss das textfeld "klein" gehalten werden. Denn mit einem scrollbalken will ich ja im array scrollen können und dann den text im textfenster dastellen lassen.

Vielleicht verstehst du jetzt was ich mein, ich weiß nicht wie ich es anders erklären soll.

Gruß,
Oliver
OlliT 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 04:12 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele