Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

11

12.03.2009, 23:08

Naja meine Engine ist nicht groß. Fonts und Sprites, dazu die D3D Klasse, seperat Input und Sound, hat damit ja nichts zu tun. Programmiere grad an der Gui und wollte dann in Ruhe schauen, was ich noch alles verbessern kann. Da sind es nicht viele Zeilen, die ich dafür ändern müsste. Aber umständlicher ist es, da hast du wohl Recht.

Anonymous

unregistriert

12

13.03.2009, 08:26

Nein, ich sage nicht, dass es umständlicher ist, sondern nicht möglich. Aber du schreibst ja sicherlich nicht nur 1x an einem Framework.

13

13.03.2009, 09:19

Und warum genau ist das jetzt unmöglich einzubauen in die vorhandene Engine? Zu Content-Jobs spuckt Google nichts vernünftiges aus, kannst du mir vielleicht sagen, wo man was darüber lesen kann? Schonmal Danke für deine Hilfe! ;)

TrommlBomml

Community-Fossil

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

14

13.03.2009, 10:52

Zitat von »"unsigned long"«

Ohje, wie hier wieder mit Singletons rumgeworfen wird... Warum soll man nur 1 Device haben können? Ist doch Nonsens.


was du wieder für nen blödsinn erzählst. NIEMAND hat hier mit singletons um sich geworfen nur mögliche lösungen vorgegeben.

WhiteMike

Alter Hase

Beiträge: 507

Wohnort: Ulm

Beruf: Schüler

  • Private Nachricht senden

15

13.03.2009, 12:25

unsigned long
Ich hab eine Runde gegooglet und trotzdem nichts zu Content-Jobs oder Tasks gefunden. Kannst du mir da einen kleinen Stubs in die richtige Richtung geben?

Mit freundlichen Grüßen,
WhiteMike

16

13.03.2009, 12:59

WhiteMike: Stickwort Multitasking, da solltest du mehr drunter finden ^^
Aber Content-Jobs bleiben mir auch noch ein Rätsel...

Anonymous

unregistriert

17

13.03.2009, 15:42

Tasks sind wie -insane- bereits sagt im Bereich des Multitaskings zu finden. Findet man relativ selten (meiner Erfahrung nach) im GameDev, obwohl es ein enormer Performance-schub ist Multitasking in seine Games einzubauen. Ich habe in meiner Engine (was ich ausnahmsweise mal auch als Engine bezeichne bei dem Umfang) insgesammt 8 Tasks unteranderem für Grafik, Sound, Physik, Just-In-Time-Content-Loading, usw. Das Syncen ist halt nur eine enorme arbeit, vorallem beim Interface-Design, da hier die jeweiligen Abhängigkeiten und Hierarchien eingehalten werden müssen.

Content-Jobs findet man auch selten im GameDev, ich glaube hier heißt das irgendwie anders. In der Anwendungsentwicklung, gerade bei Programmen die auf die Graphen-Theorie aufbauen läuft man recht häufig darüber. Es ist eigentlich ein recht einfaches aber elementares Verfahren um Daten nach ihrem Nutzen zu "schätzen" und zu cachen.

Beispiel: Alle 2 Sekunden soll ein Rauchwolken-Sprite dargestellt werden, die Textur/Surface ist im jeweiligen Manager enthalten. Sonst wird die Textur/Surface nirgendwo benutzt außer in der Instanz des Sprites. Das Sprite ist aber ein Erzeugnis von verschiedenen Objekten (Beispiel: Autos fahren rum und einige velieren schon mal den Auspuff wodurch eine Rauchwolke entsteht)

"Blöde" Texturmanager denken jetzt: "Hey, die Textur wird nicht mehr benutzt, da der Sprite weg ist, also wird die Textur entladen, soll ja Speichersparend sein". Beim nächsten mal muss diese wieder geladen werden. Kostet Performance. Mit Content-Jobs ist es nun möglich anzugeben, welche Daten "wichtig" sind und welche weniger wichtig. Der wichtigkeits-faktor wird also in jedem FPS neu berechnet und je wichtiger etwas ist, desto länger soll es auch im Speicher bleiben. Hübscher nebeneffekt, man kann auch noch "Aufträge" (Jobs) vergeben um Content vor-zu-bewerten.

Wie schon gesagt, kommt dies oft in Programmen vor die auf Graphen-Theorie basieren, wo es nur einen Typ gibt: "Objekt" und keine Bäume oder sonstige Abhängigkeiten und dies ordentlich auf die Performance geht.


-insane-
Das wird nicht gehen, weil es zu Grundlegend ist. Du kannst nicht von einem Wolkenkratzer einfach mal "so nebenbei" das Fundament nachgießen.

18

13.03.2009, 17:34

Zitat von »"unsigned long"«

Du kannst nicht von einem Wolkenkratzer einfach mal "so nebenbei" das Fundament nachgießen.

ham se sowas in der Art nicht beim schiefen Turm von Pisa gemacht?

@Topic: Ich find Multithreading toll, allein schon, weil mir sonst mein Vierkerner nicht so furchtbar viel bringt - und viele Leute haben mittlerweile zumindestens n Zweikerner.

Anonymous

unregistriert

19

13.03.2009, 17:55

Zitat von »"PCShadow"«

Zitat von »"unsigned long"«

Du kannst nicht von einem Wolkenkratzer einfach mal "so nebenbei" das Fundament nachgießen.

ham se sowas in der Art nicht beim schiefen Turm von Pisa gemacht?
Doch, aber das war nicht "einfach mal so" sondern ein sehr langes und kostspieliges Unterfangen. Einfacher und günstiger wäre es gewesen das Teil abzureißen und neu zu bauen.

Werbeanzeige