E
Eclypse
Zu der Variante mit Astar: Ich versuche mal die Maze so klein wie möglich zu bekommen und schaue ob die ungenauigkeiten sich irgendwie herausarbeiten lassen. Ein weiteres problem bleibt dann auch die Rechenzeit mit Astar. Pro route die berechnet wird muss eine halbe sekunde Rechenzeit eingerechnet werden. Bei komplizierteren/längeren strecken möglicherweise auch eine ganze sekunde. Wenn dann 5 user gleichzeitig eine route berechnen wollen entsteht für alle eine extrem lange wartezeit. Vor allem wenn man bedenkt das der server ja nicht nur damit beschäftigt ist, wie newwarrior das schon erwähnt hatte. Eine 5 sekunden pause+die arbeit die in der zeit sonst noch anfällt wäre prinzipiell nicht akzeptabel. Was tun wir dann wenn mal richtig viel los ist? :/
Hierzu habe ich mir überlegt wie ich die Rechenzeit reduzieren kann. Ich habe mir die Weltkarte genommen und straßen gezeichnet. Dann alles andere gelöscht und lasse die Straßen jetzt als mögliche wege von Astar berechnen. In meinem Beispiel mit ca 50 schritten komme ich hierbei von 0,667 sec auf 0,22 sec. Eine verbesserung also. Die Maze besteht also nur noch aus "W"s. Mit ausnahme der bereiche in denen gefahren werden darf. Das reduziert die möglichkeiten und damit die Rechenzeit. Sieht jemand ein problem darin das so zu machen?
Zu der Variante mit vordefinierten routen: Angenommen ich lasse die position der dampfer auf der Karte nicht anzeigen sondern führe nur das "battle script" aus sobald die schiffe ankommen brauche ich nur eine "traveltime". Die könnte ich von ort zu ort auch in einer DB abspeichern.
Abgesehen davon das es wahnsinnig viele einträge sind, ist mir nicht ganz klar ob die Auslastung des sql servers hier nicht dem ganzen einen riegel vorschiebt.
Angenommen: Möglich sind ca 200 häfen weltweit. Von 200 häfen zu 199 anderen Häfen routen vorzudefinieren bedeutet 40000 routen.
Selecten müsste ich alle routen VON hafen x. In diesem falle selecte ich 1 aus 40000. Wie lange würde eine solche operation dauern?
Ich könnte mir vorstellen das auch hier wieder newwarriors argument zieht das der SQL server in diesem moment in die knie geht. Hat da jemand einen anhalt wie lange soetwas dauern würde?
Eine alternative ist natürlich einen "ROUTEN-SERVER" einzurichten der sich nur damit beschäftigt, sodass andere operationen weiterlaufen können.
cba r-correction
Gruß Eclypse
Hierzu habe ich mir überlegt wie ich die Rechenzeit reduzieren kann. Ich habe mir die Weltkarte genommen und straßen gezeichnet. Dann alles andere gelöscht und lasse die Straßen jetzt als mögliche wege von Astar berechnen. In meinem Beispiel mit ca 50 schritten komme ich hierbei von 0,667 sec auf 0,22 sec. Eine verbesserung also. Die Maze besteht also nur noch aus "W"s. Mit ausnahme der bereiche in denen gefahren werden darf. Das reduziert die möglichkeiten und damit die Rechenzeit. Sieht jemand ein problem darin das so zu machen?
Zu der Variante mit vordefinierten routen: Angenommen ich lasse die position der dampfer auf der Karte nicht anzeigen sondern führe nur das "battle script" aus sobald die schiffe ankommen brauche ich nur eine "traveltime". Die könnte ich von ort zu ort auch in einer DB abspeichern.
Abgesehen davon das es wahnsinnig viele einträge sind, ist mir nicht ganz klar ob die Auslastung des sql servers hier nicht dem ganzen einen riegel vorschiebt.
Angenommen: Möglich sind ca 200 häfen weltweit. Von 200 häfen zu 199 anderen Häfen routen vorzudefinieren bedeutet 40000 routen.
Selecten müsste ich alle routen VON hafen x. In diesem falle selecte ich 1 aus 40000. Wie lange würde eine solche operation dauern?
Ich könnte mir vorstellen das auch hier wieder newwarriors argument zieht das der SQL server in diesem moment in die knie geht. Hat da jemand einen anhalt wie lange soetwas dauern würde?
Eine alternative ist natürlich einen "ROUTEN-SERVER" einzurichten der sich nur damit beschäftigt, sodass andere operationen weiterlaufen können.
cba r-correction
Gruß Eclypse