AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Eigenes 3D MMORPG mit Delphi möglich?

Ein Thema von Zudomon · begonnen am 8. Dez 2011 · letzter Beitrag vom 2. Mär 2021
Antwort Antwort
Zudomon

Registriert seit: 14. Feb 2007
84 Beiträge
 
Turbo Delphi für Win32
 
#1

AW: Eigenes 3D MMORPG mit Delphi möglich?

  Alt 9. Dez 2011, 16:11
Ja! Also ich habe bei Delphi extreme Probleme mit Multithreading... habe heute eingebaut, dass die Internetseiten im Hintergrund runtergeladen werden. Sobald ich in der Execute des Threads auch nur eine Instanz erzeuge, fängt es an, meinen Hauptthread zu blocken. Ich habe mal gehört, dass es an dem Speicher liegt, der da ne critical Section für öffnet.

Den Loader gibt es auch. Nervigerweise schlagen da einige Virenprogramme drauf an... warum? Anscheinend wegen der UAC Abfrage. Wenn ich das deaktiviere und kompiliere, dann finden die da keinen Trojaner drin... wenn ich das dann einfach die exe in Stonequest_Installer umbenenne, dann macht Windows automatisch eine UAC Abfrage und die Virenprogramme schlagen immernoch nicht an. Hätte das jetzt schon so gemacht, aber ich habe vor, den Loader ganz aus dem Verkehr zu ziehen und die Installation direkt in das Spiel mit rein zubringen. Vorher war der Loader eigentlich dafür da, die neueste Version, die gepackt auf dem Server liegt, zu installieren.

PS: StoneQuest läuft bei weitem noch nicht so, wie ich es mir vorstelle... aber wenn ihr mir eine Lösung bzgl. des Multithreadings nennen könnt, dann könnte es eventuell besser werden.
  Mit Zitat antworten Zitat
mquadrat

Registriert seit: 13. Feb 2004
1.113 Beiträge
 
Delphi XE2 Professional
 
#2

AW: Eigenes 3D MMORPG mit Delphi möglich?

  Alt 12. Dez 2011, 10:25
Nur damit ich mal ne Vorstellung kriege: Wieviele Daten werden denn so durschnittlich von einem Peer an einen anderen in sagen wir mal 1 Minute übertragen? Bei P2P ist der üblicherweise niedrige Upstream ja immer das Problem. Wenn also in den umliegenden Clustern 1.000 Spieler sind, müsste der Peer alle 1.000 up to date halten plus die Zentraldatenbank? Oder werden je nach verfügbarer Bandbreite Super-Nodes bestimmt, die schwächeren Nodes die Arbeit abnehmen? Oder eine lokale Hierarchie?

Ich denke die Super-Nodes würden sich anbieten, sobald der Peer erkennt, dass seine Bandbreite zum Aktualisieren der anderen Peers nicht mehr ausreicht. Könnte man zentral über den Tracker steuern. Ist kein Super-Node vorhanden könnte der Tracker einen Server zuschalten, der als Super-Node agiert.

Ich nehme an, dass verschiedene Klassen von Informationen vorgesehen sind? Je weiter weg desto weniger Infos müssen übertragen werden. Das wäre auch ein gutes Maß für die Priorisierungs-Algorithmen in der Kommunikation.

Ist alles ins Unreine geschrieben, macht nur mal wieder Spaß ein bisschen über P2P nachzudenken (hab meine Diplomarbeit über P2P Video-On-Demand geschrieben )
  Mit Zitat antworten Zitat
Zudomon

Registriert seit: 14. Feb 2007
84 Beiträge
 
Turbo Delphi für Win32
 
#3

AW: Eigenes 3D MMORPG mit Delphi möglich?

  Alt 12. Dez 2011, 11:41
Dazu habe ich mir bisher keine Gedanken gemacht. Ich programmiere einfach immer drauf los, und schaue, was man braucht oder wo es hinführt. Auf groß planen habe ich keine Lust *g*

Aber was ich wirklich gerne wüsste, wie ich in Delphi das Multithreading hinbekomme... und zwar so, dass ich Instanzen erzeugen kann, ohne das gleich alle Threads kurzzeitig unterbrochen werden.
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.688 Beiträge
 
Delphi 2007 Enterprise
 
#4

AW: Eigenes 3D MMORPG mit Delphi möglich?

  Alt 12. Dez 2011, 12:05
Multithreading in Delphi ist das gleiche wie sonst überall in der Windows-Welt. Du müsstest da schon etwas genauer werden, mit dem was du da tust, und wo das Problem liegt. Allerdings sei gesagt: Sobald Threads ins Spiel kommen, die gemeinsame Resourcen verwenden, ist's schnell vorbei mit "einfach drauf los", da man sich so ganz ohne Plan und Struktur schneller Deadlocks und Synchronisationshöllen einhandeln kann, als einem lieb ist
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Zudomon

Registriert seit: 14. Feb 2007
84 Beiträge
 
Turbo Delphi für Win32
 
#5

AW: Eigenes 3D MMORPG mit Delphi möglich?

  Alt 12. Dez 2011, 12:16
Also mein Problem bezüglich Multithreading lässt sich eigentlich sehr einfach auf den Punkt bringen:

Man benutze den Hauptthread und lässt da drin eine Endlosschleife laufen, macht vielleicht irgendwas was, in meinem Fall eben das Rendering usw. . Wenn man nun die Framedeltas als Graph anzeigen lässt, müsste es bei gleicher Last immer ziemlich ähnliche Framedeltas geben.

Nun startet man bevor die Endlosschleife ausgeführt wird, noch einen Workerthread und legt den auf einen anderen Prozessorkern, so dass man sicher sein kann, dass da nichts dazwischenfunkt...
In dem Workerthread startet man auch eine Endlosschleife...

Resultat: Alles läuft perfekt und wie gewollt... wenn man nun in dem Workerthread rechnet usw. läuft auch alles prima.

Aber erzeugt man nun im Workerthread in dieser Endlosschleife eine einzige Instanz und gibt diese wieder frei, so beginnt der Hauptthread zu stockeln. Und dafür habe ich bisher keine Lösung. Ich könnte mir vorstellen, dass es deswegen ist, weil der ganze Heapspeicher von allen Threads geteilt wird und dann bei einer Instanz sichergestellt werden muss, dass der Speicher der zugewiesen wird, nicht gerade von anderen Threads benutzt wird.

PS: Die Threads haben untereinander keine Verbindung...
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.688 Beiträge
 
Delphi 2007 Enterprise
 
#6

AW: Eigenes 3D MMORPG mit Delphi möglich?

  Alt 12. Dez 2011, 12:35
Wie wäre es denn dann mit einem zu Programmstart vorinitialisierten Threadpool? Das wäre ein Spontaneinfall für einen schnellen Fix.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Zudomon

Registriert seit: 14. Feb 2007
84 Beiträge
 
Turbo Delphi für Win32
 
#7

AW: Eigenes 3D MMORPG mit Delphi möglich?

  Alt 12. Dez 2011, 12:47
Kannst du mir das genauer erklären?
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:14 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz