Hallo ihr,
ich habe zum Thema Performance schon so einiges gelesen, wollte diese Frage aber trotzdem mal stellen. Ich habe bereits vor mehreren Monaten damit angefangen, eine Simulation eines Supermarktes zu erstellen, hatte dann mal wieder aufgehört, weil ich keine sinnvoll zu realisierende Möglichkeit gesehen habe, einen Artikelstamm aufzubauen, um möglichst einfach neue Artikel mit x - Eigenschaften einzupflegen. Eventuell auch mit der Möglichkeit für den user selbst neue Artikel einzupflegen.
Da ich dies nun gelöst habe, stellt sich nun die "leidige" Frage der Performance. Wir reden hier im Extremfall über mehrere tausend Objekte (Artikel), die zwar nicht alle gleichzeitig angezeigt werden müssten, aber trotzdem in der GM - Datei vorhanden sein sollen, damit man mit ihnen interagieren kann. Außerdem gibt es Kunden, die sich durch den Laden zu den Artikeln (nur zu den Regalen) bewegen müssen und jeder eine eigene Einkaufsliste besitzen. Klar, vielleicht ließen sich ja auch extern die Objekte speichern und dann auch diese nur laden, wenn sie wirklich benötigt werden, vielleicht über execute_file, wobei ich damit noch keine Erfahrung habe.
Nun ist klar, dass ich alle größeren sprites (wie die der Artikel) schonmal extern speichere und nur lade, wenn sie auch benötigt werden, allerdings kann ich ja zB keine Instanzen von irgendwas deaktivieren wenn sie aus dem view sind, weil die Kunden ja trotzdem mit den Artikeln interagieren müssen. Eine Möglichkeit wäre noch, die Kollisionsabfrage per mp_potential_step nur dann zu verwenden, wenn sich der Kunde im view befindet und sonst nur move_towards_object zu verwenden, das sollte ja auch etwas einsparen. Trotzdem weiß ich nicht, was wäre, wenn ein Kunde dann zB in dem Moment in den view kommt, während er gerade beim durchqueren einer anderen Instanz ist.
Ich würde mich über jeglichen Input zur Sache freuen!
Viele Grüße, Benny
ich habe zum Thema Performance schon so einiges gelesen, wollte diese Frage aber trotzdem mal stellen. Ich habe bereits vor mehreren Monaten damit angefangen, eine Simulation eines Supermarktes zu erstellen, hatte dann mal wieder aufgehört, weil ich keine sinnvoll zu realisierende Möglichkeit gesehen habe, einen Artikelstamm aufzubauen, um möglichst einfach neue Artikel mit x - Eigenschaften einzupflegen. Eventuell auch mit der Möglichkeit für den user selbst neue Artikel einzupflegen.
Da ich dies nun gelöst habe, stellt sich nun die "leidige" Frage der Performance. Wir reden hier im Extremfall über mehrere tausend Objekte (Artikel), die zwar nicht alle gleichzeitig angezeigt werden müssten, aber trotzdem in der GM - Datei vorhanden sein sollen, damit man mit ihnen interagieren kann. Außerdem gibt es Kunden, die sich durch den Laden zu den Artikeln (nur zu den Regalen) bewegen müssen und jeder eine eigene Einkaufsliste besitzen. Klar, vielleicht ließen sich ja auch extern die Objekte speichern und dann auch diese nur laden, wenn sie wirklich benötigt werden, vielleicht über execute_file, wobei ich damit noch keine Erfahrung habe.
Nun ist klar, dass ich alle größeren sprites (wie die der Artikel) schonmal extern speichere und nur lade, wenn sie auch benötigt werden, allerdings kann ich ja zB keine Instanzen von irgendwas deaktivieren wenn sie aus dem view sind, weil die Kunden ja trotzdem mit den Artikeln interagieren müssen. Eine Möglichkeit wäre noch, die Kollisionsabfrage per mp_potential_step nur dann zu verwenden, wenn sich der Kunde im view befindet und sonst nur move_towards_object zu verwenden, das sollte ja auch etwas einsparen. Trotzdem weiß ich nicht, was wäre, wenn ein Kunde dann zB in dem Moment in den view kommt, während er gerade beim durchqueren einer anderen Instanz ist.
Ich würde mich über jeglichen Input zur Sache freuen!
Viele Grüße, Benny