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

Performance-Probleme bei Verwendung von vielen Items

bodenseepingu

Geomaster
Hallo,

ich hab von einem neuen WIG gehört, der auch sehr gut sein soll - den WIG will ich am Freitag machen.

Der WIG soll Performance-Probleme bei Garmin-Geräten verursachen aufgrund der Verwendung von vielen Items.

Ich nehm das jetzt mal als Anlass hier in die Runde zu fragen, ob noch jemand ausser in diesem Fall xxmurdockxx einen WIG produziert hat mit vielen Items (wobei ich noch nicht weiß, was viele sind).

Falls ja - gibt es irgendwelche Dinge, die ihr dagegen tut - könnt ihr bestätigen, daß es bei Garmins Performanceprobleme aufgrund der Verwendung von vielen Items gibt.

Mich interessiert das Thema und grundsätzlich könnte ich mir schon vorstellen, daß man eben die Items nochmals irgendwo reinpackt (Koffer, Rucksack) - ich meine sowas auch ansatzweise schon mal gesehen zu haben.

Ich habe auch folgende Fragen, deren Beantwortung auch nicht schlecht fürs Wiki wären
- Ab wieviel Items sind Probleme zu erwarten
- Wenn man jetzt per Kommando diese Items z.b. in ein anderes Item verpackt - sind sie dann unsichtbar und die Performance-Probleme behoben
- wie reagieren die verschiedenen Geräte denn so

Bei Zeit, Lust und Laune folgt vielleicht noch eine Testcartridge, die es erlaubt mit vielen Items mal zu spielen, in einen Koffer zu packen und einzeln wieder auszupacken
- natürlich kann auch jemand anderer eine entsprechende Cartridge machen wenn er Zeit hat - das einzeln wieder auspacken würde ich eben mit LUA automatisieren (Generierung einer Auswahlbox, was ich denn wieder auspacken möchte)
 
OP
B

bodenseepingu

Geomaster
Hier eine Beispielcartridge - muss mal bei Gelegenheit probieren, wie die Performance auf einem Garmin tatsächlich aussieht.

Wäre schön, wenn Ihr testet könnt, ob das auf irgendwelchen Geräten Probleme macht.
 

Anhänge

  • koffer.zip
    2,2 KB · Aufrufe: 12
OP
B

bodenseepingu

Geomaster
Also mit Garmin Oregon 450 kriege ich bei 12 Gegenständen keinerlei Performance-Probleme - das Ein- und Auspacken in den Koffer funktioniert problemlos.
 

docfred

Geocacher
Ich bastle gerade an einem WIG, der den Einsatz des "Kleinen Cacher-Bestecks" zum Thema hat. Dabei habe ich eine Tasche, in der die Utensilien drin sind. Wenn ich sie aufmache, dann habe ich zehn Items dispay true. Es laufen zwei Timer, die den Ladezustand von GPS-Gerät und Taschenlampe verwalten. Zumindest bei Trockenübungen mit den Items und deren Funktionen hatte ich bisher auf einem Gamin 550 kein Probleme.
Ich glaube, dass auch die Anzahl der Geocaches und Wegpunkte, die auf dem Gerät sind, die Performance beeinflusst.

docfred
 
OP
B

bodenseepingu

Geomaster
Mag sein dass es die Gesamtheit der Elemente ist, die die Performance beeinträchtigt.

Ich habe eine neue Version der Koffer-Demo-Cartridge gemacht - die stelle ich ins wherigo-handbuch-wiki - Stichwort Items / Container-Items

Das interessante daran: Ich hab jetzt Rekursivität eingebaut
- Die Gegenstände Koffer, Regal, Garage haben Kommandos um Gegenstände einzupacken, reinzulegen, reinzustellen bzw. wieder rausholen
- Die Kommandos sind unterschiedlich benannt, weil ein Urwigo Player die Kommandos nicht zusammenführen kann auch wenn sie gleich heißen - d.h. der Namen sollte Rückschluss drauf geben, ob ein Item jetzt in den Koffer gepackt, ins Regal gelegt oder in die Garage gestellt wird..
- die Einpack-Kommandos arbeiten nur mit bestimmten Objekten - so kann man z.B. definieren, daß zwar Löffel, Messer, Hut in den Koffer können - aber ein Koffer nicht in den Koffer, ein Regal nicht in den Koffer etc.
- Mehrfachverpackung funktioniert - man kann einen Hut in den Koffer legen, den Koffer ins Regal, ein Brett ins Regal - ein Fahrrad in die Garage, das Regal in die Garage usw. Alle Gegenstände die im Koffer liegen wandern mit ins Regal, wenn der Koffer ins Regal gelegt wird
Beim Rausholen eines Gegenstands wird dynamisch mit Hilfe der LUA-Funktion Contains ermittelt, welche Objekte (Items, Characters) im entsprechenden Container-Objekt (Koffer, Regal, Garage) liegen und eine Auswahlliste erstellt - unsichtbare Items werden ausgeblendet - zusätzlich kann man auch alle Objekte rausholen
- Wird ein Gegenstand unsichtbar geschaltet (hierzu wurde das Item Zauberstab verwendet), dann kann er beim Rausholen nicht mit ausgewählt werden, bei Alle Objekte wird er dennoch mit rausgeholt, verbleibt aber unsichtbar
- Interessanterweise kann man eine Hose aus der Garage holen, wenn sie im Koffer liegt, der Koffer im Regal liegt und das Regal in der Garage steht - das wäre interessant, ob das auf allen Geräten so ist - im Emulator und auf dem Garmin geht das

Viel Spass

http://www.das-wherigo-handbuch.de/index.php?title=Programmierbeispiele/Codesnipsel#Items
 
OP
B

bodenseepingu

Geomaster
Wäre schön, wenn auf unterschiedlichen Playern getestet wird, ob man so elegant mit Items umgehen kann.

Interessant wäre:
- gibt's auf irgendwelchen Playern Probleme
- sind unsichtbare Items tatsächlich auch unsichtbar
- wandern auf allen Playern Items in Items mit, wenn das übergeordnete Item verschoben wird
- sind auf allen Playern Items beim Rausholen sichtbar, die mehrfach verpackt sind - z.B. der Hut liegt im Koffer - der Koffer liegt im Regal - das Regal steht in der Garage - auf Emulator und Garmin kann man den Hut direkt aus der Garage holen - die Funktion Contains liefert hier den Hut als Ergebnis für die Garage (eigentlich auch logisch - der Hut ist ja auch in der Garage - wenn auch dort im Regal - und dort im Koffer) - wenn man dieses Verhalten nicht haben will, kann man ja alle Gegenstände im Koffer unsichtbar schalten, wenn der Koffer ins Regal gestellt wird - interessant, wenn der Spieler Gegenstände suchen soll...


Also auf Garmin und Emulator hab ich keine Probleme festgestellt.
 
OP
B

bodenseepingu

Geomaster
Auf Android / Whereyougo macht die aktuelle Cartridge auf http://www.das-wherigo-handbuch.de noch Probleme
beim Rausholen von Gegenständen - das müsste aber beherrschbar sein - das dürfte daran liegen, daß bei Android auch das ZCartridge Objekt in der Liste der Objekte drinhängt - im Gegensatz zu Garmin oder Emulator. Da in dieser Version die Cartridge auch den Namen Koffer hat gibt es doppelte Einträge - ich vermute, daß eine Auswahlbox unter Android Whereyougo doppelte Einträge nicht mag und deshalb abschmiert - zumindest war das genau die Stelle an der es Probleme gab...ich untersuche das.

Funktionieren eigentlich Befehle auf Zonen für alle Player ?
 
OP
B

bodenseepingu

Geomaster
ohjeh, jetzt wirds kompliziert....

Android / Whereyougo zickt rum...da scheint der Befehl Contains nur für Zonen und Character zu gehen,
nicht aber für Items - bin aber noch nicht ganz sicher was da los ist...

Ich habe jetzt 3 verschiedene Methoden um zu ermitteln, welche Items in einem Item geschachtelt drin sind.

Ich habe jetzt alle 3 implementiert und bin am Testen - Cartridge auf wherigo-handbuch-de folgt demnächst
(am Kommentar erkennbar)

Das was ich von euch wissen möchte ist, welche Methoden bei welchen Geräten funktionieren. Auf Emulator, Garmin, Whereyougo werde ich selber testen...

Zu diesem Zweck verwendet jedes der Items Koffer, Regal, Garage eine andere Methode um zu ermitteln, welche Items drin sind - auf dem Emulator tun alle 3 Methoden.

Im Optimalfall sollte auf jedem denkbaren Player wenigstens für ein Item das Rein- und Rausschieben von Items sauber funktionieren - dann lässt sich das auch generell implementieren...
 

xxmurdockxx

Geomaster
Also jetzt wirds echt kompliziert...

vielleicht solltest Du nur die items verwenden, um die Funtion zu testen... und nicht über 20... :D

iPhone zickt schon mal rum, wenn ich items im Koffer in der Garage habe und dann den Koffer rausholen will.

Lua Alert
Don´t know how to call '<null>'

Der Koffer wird zwar rausgeholt, aber eben mit Fehler.
Und nur beim Koffer.
 
OP
B

bodenseepingu

Geomaster
Erste Ergebnisse Android/Whereyougo: 2 von den 3 Methoden der aktuellen Cartridge (Koffer und Regal) funktionieren grundsätzlich - die Methode die bei der Garage verwendet wird (mit Contains) funktioniert nicht !

Der Menüpunkt "Alle" Items rausholen funktioniert im Moment nicht, da im Moment bei allen Container-Items für alle die Contains-Methode verwendet wird um die Items zu identifizieren..

Also Vorsicht - wenn ihr mit Urwigo die Contains Funktion verwendet und tatsächlich Items schachtelt, könntet ihr mit Android/Whereyougo auf die Nase fallen...das sollte mal jemand ganz konkret über eine kleine Testcartridge austesten - das wäre dann wieder ein Punkt, den man nicht machen sollte, damit eine Cartridge auf allen Playern funktioniert. Man sollte aber explizit dafür noch eine Testcartridge machen...
 
OP
B

bodenseepingu

Geomaster
xxmurdockxx schrieb:
Also jetzt wirds echt kompliziert...

vielleicht solltest Du nur die items verwenden, um die Funtion zu testen... und nicht über 20... :D

iPhone zickt schon mal rum, wenn ich items im Koffer in der Garage habe und dann den Koffer rausholen will.

Lua Alert
Don´t know how to call '<null>'

Der Koffer wird zwar rausgeholt, aber eben mit Fehler.
Und nur beim Koffer.

Wenn man weiß, wie die verschiedenen Player reagieren, dann ist das evtl. in den Griff zu kriegen - zuerst kann man ja mit der aktuellen Cartridge einfach mal probieren, ob man die einzelnen Gegenstände sauber in ein Container-Item reinkriegt und wieder rauskriegt - wie beim Whereyougo zu sehen funktioniert ja noch nicht mal der Zugriff auf die Items so wie es nach Dokumentation sein sollte.


Wenn ich weiß, welche Methoden um die Items in Containeritems zu ermitteln funktionieren, dann kann man mal schauen ob Container-Item in Container-Item auf allen Playern geht oder ob man das besser lassen sollte.

Ich weiß schon daß das was ich grad mache die Player auf Herz und Nieren testet - wenn ein Player das übersteht ist er schon gut - aber anders kriegen wir auch nicht raus, was die Player können und was nicht.

mein Fehler
Gib mal der Cartridge einen anderen Namen - da kann es durchaus sein, daß es eine Namensverwechslung gibt und stattdessen das Cartridge-Objekt verwendet wird !!!
Schieb mal das Regal in die Garage und hole es raus - Gehen eigentlich beim I-Phone alle 3 Container-Objekte mit einpacken/Auspacken ?
 

xxmurdockxx

Geomaster
also der fehler lag am namen.

ich hab jetzt mal über die hälfte der items gelöscht, damit ich nicht so viel scrollen muss ;)

also auf iphone klappt alles.
auto in garage, wieder raus
items in den koffer, und wieder raus
regal in garage und wieder raus
koffer in regal in garage.. und wieder raus...
etc...
zauberstab klappt auch.

zeigt auch schön an, wenn ich was einpacken will, wo sich die items befinden.

kann auch items in den koffer packen, die im regal liegen.

hoffe ich konnte dir damit helfen :D
 
OP
B

bodenseepingu

Geomaster
ja du hast geholfen - dennoch eine Nachfrage.

Du kannst auch Items in den Koffer packen, die im Regal liegen ? So war das nicht vorgesehen.

Beim Emulator, Garmin und Android werden Items im Inventar unsichtbar, wenn
sie in ein Container-Item reingesetzt werden.

Siehst du im I-Phone immer alle Items ? Bei allen anderen Playern kann ich mit den Items komplett aufräumen, so daß ich nur die Container-Items sehe - deshalb macht das aus meiner Sicht ja auch Sinn einen aufgeräumten Zustand zu haben...

Wenn das beim I-Phone so ist, dann muss man sowas anders machen - man muss beim Reinlegen dann das entsprechende Item gleich mal Unsichtbar machen - dafür aber beim Nachschauen im Item auch die unsichtbaren anzeigen.

Es gibt hier also durchaus unterschiedliche Reaktionen der Player. Ich denke, daß man beim Anzeigen der Items zum was rausholen bei den beiden Funktionen, die gehen (und nur die kann ich für alle Player verwenden) mehrfach geschachtelte Items (also Item in Koffer, Koffer in Garage) nicht sehen wird, sondern zuerst den Koffer aus der Garage holen muss.

Kannst du das nochmals bestätigen ? Dann mache ich eine Version, die beim reinlegen die Items unsichtbar macht.

P.S. Ich hab so viele Items gemacht wegen den Performanceproblemen sowie damit ich sie möglichst auch gut verteilen kann auf die Container.....

...und natürlich um euch zu ärgern..
 

xxmurdockxx

Geomaster
also die items werden im inventory schon unsichtbar...
aber wenn ich auf den koffer gehe und dann auf einpacken erscheinen ja alle items, die dem befehl zugeordnet sind.

drunter steh ja dann, wo diese sich gerade befinden.
und da kann ich auch ein item nehmen, dass gerade nicht im inventory ist.
 

Anhänge

  • IMG_0908[1].PNG
    IMG_0908[1].PNG
    26 KB · Aufrufe: 723
OP
B

bodenseepingu

Geomaster
wau das ist echt cool, kenne ich so gar nicht - also keine Änderung der Sichtbarkeit - das ist doch echt ein geiles Feature - ohne viel Programmierarbeit...

neee - aber vom Verhalten her ist das nicht ok - alle anderen Player zeigen nur die Gegenstände an, die wirklich "sichtbar" sind - hmm - vielleicht muss man doch
explizit die Gegenstände unsichtbar machen - oder bevor die Gegenstaende in ein Container-Item gesteckt werden noch extra geprüft werden, ob sie auch im Inventar sind - ich denk wir vergleichen das mal am Freitag....
 
OP
B

bodenseepingu

Geomaster
die nächste Version wird auch den I-Phone-Bug behandeln - die Auswahl und Anzeige kann man nicht verhindern - aber das Reinschieben schon.

Wer mit dem I-Phone spielt weiß halt immer bestens wo alles liegt...
 
OP
B

bodenseepingu

Geomaster
So, die nächste (hoffentlich so ziemlich endgültige) Version ist hochgeladen auf das-wherigo-handbuch.de

- sollte auf Emulator, Garmin, Android und I-Phone funktionieren
- für das I-Phone wird nach Auswahl eines Items noch überprüft, ob dieses überhaupt im Inventar ist (unschöne Lösung mit benutzerdefiniertem Ausdruck in einer IF-Bedingung) - aber leider funktioniert es nicht, dass das "Befehlsziel" in einer Contains-Bedingung abgefragt wird.
 

jonny65

Geomaster
Ich greif mal direkt den Threadtitel auf .... "... Verwendung von vielen Items"
Unabhägig davon ob es Performanceprobleme gibt oder nicht würde ich eine große Itemauswahl tunlichst vermeiden und möglichst immer nur die passenden Items anbieten, die gerade benötigt werden. Das muss natürlich in die Handlung mit einfließen, wo man Items bekommt und wo man sie wieder los wird, verkauft, tauscht oder verliert. Es ist nur lästig verwirrend wenn das ganze Inventar vollgestopft ist und der ganze Wherigolauf stockt, weil der Spieler ständig am rumklicken ist und alle möglichen und unmöglichen Itemkombinationen ausprobiert um weiterzukommen.
Das so zu managen, ist oft nicht einfach, aber die Ordnung im Inventar sollte es wert sein.
 
Oben