• Willkommen im Geoclub - dem größten deutschsprachigen Geocaching-Forum. Registriere dich kostenlos, um alle Inhalte zu sehen und neue Beiträge zu erstellen.

[DEV] Beschleunigung Scrolling in Text

pfeffer

Geowizard
Hi!

Ohne mir den Quellcode angeschut zu haben, vermute ich, dass die Langsamkeit des Scrollens in der Cachebeschreibung und in den Logs daher rührt, dass bei jedem Scrollen alle Zeilenumbrüche neu berechnet werden. Eigentlich sollte sich das leicht effizienter machen lassen: nur 1mal Berechnen und das Berechnungsergebnis speichern.

Eine andere Lösung wäre: Alle Controls können sich auf ein "surface" zeichnen. D.h. man könnte den Text auf ein Bild zeichnen lassen, das groß genug ist, um den ganzen Text aufzunehmen und dann das Bild in dem Scroll-fenster anzeigen lassen. Das dürfte ziemlich flott scrollen.

Gruß,
Pfeffer.
 

Bilbowolf

Geowizard
das groß genug ist, um den ganzen Text aufzunehmen und dann das Bild in dem Scroll-fenster anzeigen lassen. Das dürfte ziemlich flott scrollen.

Ja :) Ich habe b is heute nicht verstanden, wie ein HTML renderer programmiert wird... wenn Du das kannst ist das wahrscheinlich die Lösung.
 

Kappler

Geowizard
Vielleicht gibt es ja dann auch die Möglichkeit, die Bilder, die ja lokal vorhanden sind, auch an der richtigen Stelle im Text anzuzeigen?? :oops:
 

salzkammergut

Geomaster
@Bilbowolf: Das mit dem Verständnis des HTML-Renderers geht mir genauso. Ich habe mal begonnen mir die Formatter Klasse anzuschauen, das aber derzeit auf niedrige Priorität gesetzt.

Am Liebsten würde ich die gesamte Cachebeschreibung ja im Browser darstellen (nach Doppelklick auf den Cache in der Listenansicht). Der IE ist auf meinem PDA sehr schnell und kann auch große HTML Dateien rendern (was HTMLDisplay nicht kann!) Leider geht das wegen dem exec-Problem der ewe-Virtual Machine nicht und ein Update auf 1.50 scheint nicht in Sicht. Den Sourcecode für die Darstellung im GC-Look habe ich übrigens schon fertig und er läuft am PC. Wenn man den IE mehr nutzt, wäre die Geschwindigkeit des HTML-Renderers nicht mehr so wichtig.

Als Alternative überlege ich auch die ewe-VM neu zu kompilieren um den Fix für das exec Problem vom ewe Forum einzupflegen. Die 200+ MB des Embedded C++ Compilers habe ich einmal gesaugt, aber ich fürchte, daß das mehr Zeit kostet als ich investieren kann. So hoffe ich noch auf V1.50. Vielleicht könnt Ihr ja auch einmal an Michael Brereton schreiben und ihn animieren eine Bugfix Version zu veröffentlichen.

Meiner Meinung nach hat CW derzeit keine gravierenden Geschwindigkeitsprobleme, der Fokus sollte auf Eliminierung der noch vorhandenen Bugs in diversen Programmteilen liegen.
 

Kalli

Geowizard
Bei der Geschichte mit dem Image sollte man aber folgendes beachten: Ich habe bei der Anzeige der Cachebeschreibung mal eingebaut, dass sich der CacheWolf merkt, wie weit gescrollt wurde, als die Beschreibung das letzte Mal angezeigt wurde. Ansonsten hat man nämlich den Effekt, dass man wieder von vorne scrollen musste, wenn man zwischenzeitlich auf einem anderen Panel war (z.B. Solver). Dies ist ziemlich nervig, weil bei vielen Caches oben in der Beschreibung blabla steht und unten die wichtigen Sachen kommen. Dieses Problem hätte man natürlich ein einem externen Browser nicht.

Wenn man die ewe-VM für den Pocket-PC patcht, sollte das keine Probleme mit der Distribution geben, da ja die VM in das exe eingebaut wird. Auf dem PC kann man ja ruhig den HTML-Viewer von ewe nehmen, der ist schnell genug. Das einzige Problem könnte dann noch der Zaurus sein, dort haben wir in der Distri nur das .ewe-File, oder?
 
OP
pfeffer

pfeffer

Geowizard
ää - ich denke nicht, dass die ewe-Vm in dem .exe für den PocketPC enthalten ist. Sonst müsste man ewe ja nicht vorher auf dem PocketPC installieren. Ich denke, zumindest eine .dll wird benötigt. Was darin enthalten ist, weiß ich leider nicht.

Gruß,
Pfeffer.
 

Kalli

Geowizard
In der Datei JewelData.jar sind jede Menge exe-Dateien drin. Ich habe allerdings auch keine Ahnung, was mit dem Source-Code alles mitkommt. Aber wenn es dann auf dem PDA funktionieren würde, ist dann die nächste Frage, warum es z.B. unter Linux nicht funktioniert und ruckzuck haben wir dann ewe-VMs für aller Plattformen am Hals.

Vielleicht müssen wir auch gar keine großen Verrenkungen machen: Ich gehe mal davon aus, dass die HTML-Datei immer den gleichen Namen hat (temp.HTML oder so). Dann brauche ich mir doch eigentlich nur diese Seite im IE als Standardseite zu setzen bzw. in den Favoriten abzuspeichern. Dann nach die Hardwaretasten richtig belegt und man bekommt die Beschreibung auch angezeigt. Ist natürlich etwas umständlicher.
Oder ganz klassisch: Caches nach HTML exportieren und index.html bookmarken.
 
OP
pfeffer

pfeffer

Geowizard
so, ich habe mir das mal angeguckt.
es wird doch relativ viel vorbereitet beim HTML-parsen. Der Text wird nur 1mal geparst, allerdings dann beim scrollen der Hintergrund und alle Zeilen neu gezeichnet. Das scheint zu dauern.

Deswegen habe ich mal die Variante implementiert, die den Text in ein Bild schreibt, dieses Bild wird dann angezeigt.
Es kann auch durch anfassen und schieben "gescrollt" werden.

eingechekt mit SVN 485. Jetzt scrollt er in Echtzeit :)

Diese Methode ist für die Cachebeschreibung vermutlicdh nicht so gut geeignet, weil
1. nichts mehr markiert werden kann
2. die Cachebeschreibung groß sein kann, so dass das Bild entsprechend groß sein müsste. Ist aber vermutlich nicht so ein Problem.

Also, wenn es gefällt, dann mache ich das auch für die Cachebeschriebung.

Gruß,
Pfeffer.
 

Bilbowolf

Geowizard
Für mich ist es sehr wichtig, dass ich aus der Beschreibung etwas herauskopieren kann --> multis --> solver.

Es sollte also immer die Möglichkeit bleiben, "auf Text" umzuschalten.

Ich habe mir das noch nicht angeschaut, aber denke bitte daran, dass Du den Text kleiner und größer machen können musst und einige Verstecker nutzen Farben sehr bewusst.
 
A

Anonymous

Guest
Da schließ ich mich Bilbo an - koperen ist wichtig.
Wie wäre es denn damit (FR?):
1. text markieren
2. Kontextmenü: Kopiere in Solver ?
 

Kalli

Geowizard
Albsucher schrieb:
Da schließ ich mich Bilbo an - koperen ist wichtig.
Wie wäre es denn damit (FR?):
1. text markieren
2. Kontextmenü: Kopiere in Solver ?
Wo ist da der Unterschied zum jetzigen Verhalten? Ich kann doch jetzt schon mit den Ewe-Dialogen copy and paste machen. Außerdem ist ein automatisches kopieren in den Solver nicht so sinnvoll, es könnte ja sein, dass man den Text an einer bestimmten Stelle im Solver haben möchte und nicht am Ende.
 
A

Anonymous

Guest
Der Unterschied ist nur dass man eben nicht mehr vut&paste machen muss sondern den Inhalt mit einem Klick im Solver hat. Ich find die Idee ganz praktisch wenn man malö spontan cachen geht.
Aber es muss ja nicht jede Idee verwirklicht werden...
 
Oben