Design patterns für die Spieleprogrammierung:
Gespeichert in:
1. Verfasser: | |
---|---|
Weitere Verfasser: | |
Format: | Buch |
Sprache: | German |
Veröffentlicht: |
[Frechen]
mitp
2015
|
Ausgabe: | 1. Auflage |
Schlagworte: | |
Online-Zugang: | Inhaltstext Ausführliche Beschreibung Inhaltsverzeichnis |
Beschreibung: | 399 Seiten Illustrationen, Diagramme |
ISBN: | 9783958450905 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV042667319 | ||
003 | DE-604 | ||
005 | 20170801 | ||
007 | t | ||
008 | 150702s2015 gw a||| |||| 00||| ger d | ||
015 | |a 15,N16 |2 dnb | ||
016 | 7 | |a 1069431532 |2 DE-101 | |
020 | |a 9783958450905 |c pbk. |9 978-3-95845-090-5 | ||
035 | |a (OCoLC)907553411 | ||
035 | |a (DE-599)DNB1069431532 | ||
040 | |a DE-604 |b ger |e rda | ||
041 | 0 | |a ger | |
044 | |a gw |c XA-DE-NW | ||
049 | |a DE-M347 |a DE-1102 |a DE-523 |a DE-859 |a DE-858 |a DE-860 |a DE-573 |a DE-11 |a DE-91G |a DE-B768 |a DE-355 |a DE-703 |a DE-20 | ||
082 | 0 | |a 794.8151 |2 22/ger | |
082 | 0 | |a 004 |2 23 | |
084 | |a ST 230 |0 (DE-625)143617: |2 rvk | ||
084 | |a ST 324 |0 (DE-625)143660: |2 rvk | ||
084 | |a SU 500 |0 (DE-625)143695: |2 rvk | ||
084 | |a DAT 315f |2 stub | ||
084 | |a 790 |2 sdnb | ||
084 | |a 004 |2 sdnb | ||
084 | |a 793 |2 sdnb | ||
084 | |a DAT 758f |2 stub | ||
100 | 1 | |a Nystrom, Robert |e Verfasser |0 (DE-588)1067639705 |4 aut | |
240 | 1 | 0 | |a Game programming patterns |
245 | 1 | 0 | |a Design patterns für die Spieleprogrammierung |c Robert Nystrom ; Übersetzung aus dem Amerikanischen von Knut Lorenzen |
250 | |a 1. Auflage | ||
264 | 1 | |a [Frechen] |b mitp |c 2015 | |
300 | |a 399 Seiten |b Illustrationen, Diagramme | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
650 | 0 | 7 | |a Codeoptimierung |0 (DE-588)4010348-1 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Entwurfsmuster |0 (DE-588)4546895-3 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Computerspiel |0 (DE-588)4010457-6 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Programmierung |0 (DE-588)4076370-5 |2 gnd |9 rswk-swf |
653 | |a Alle Spieleprogrammierer | ||
653 | |a Games | ||
653 | |a Spiele | ||
653 | |a Entwickler | ||
653 | |a Programmierung | ||
653 | |a Spieleentwicklung | ||
689 | 0 | 0 | |a Computerspiel |0 (DE-588)4010457-6 |D s |
689 | 0 | 1 | |a Programmierung |0 (DE-588)4076370-5 |D s |
689 | 0 | 2 | |a Entwurfsmuster |0 (DE-588)4546895-3 |D s |
689 | 0 | 3 | |a Codeoptimierung |0 (DE-588)4010348-1 |D s |
689 | 0 | |5 DE-604 | |
700 | 1 | |a Lorenzen, Knut |0 (DE-588)1020241446 |4 trl | |
856 | 4 | 2 | |m X:MVB |q text/html |u http://deposit.dnb.de/cgi-bin/dokserv?id=5202032&prov=M&dok_var=1&dok_ext=htm |3 Inhaltstext |
856 | 4 | 2 | |q text/html |u http://www.mitp.de/IT-Web/Programmierung/Design-Patterns-fuer-die-Spieleprogrammierung.html?listtype=search&searchparam=9783958450905 |3 Ausführliche Beschreibung |
856 | 4 | 2 | |m DNB Datenaustausch |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=028099432&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
943 | 1 | |a oai:aleph.bib-bvb.de:BVB01-028099432 |
Datensatz im Suchindex
_version_ | 1809771767329193984 |
---|---|
adam_text |
I N
HALTSVERZEICH NIS
DANKSAGUNGEN 17
TEIL I EINFUEHRUNG 19
I ARCHITEKTUR, PERFORMANCE UND SPIELE 27
1.1 WAS IST SOFTWAREARCHITEKTUR? 27
1.1.1 WAS ZEICHNET EINE GUTE SOFTWAREARCHITEKTUR AUS? 28
1.1.2 WIE NIMMT MAN AENDERUNGEN VOR? 28
1.1.3 INWIEFERN HILFT EINE ENTKOPPLUNG? 30
1
.2
ZU WELCHEM PREIS? 30
1
.3
PERFORMANCE UND GESCHWINDIGKEIT 32
1
.4
DAS GUTE AN SCHLECHTEM CODE 33
1
.5
EIN AUSGEWOGENES VERHAELTNIS FINDEN 34
1
.6
EINFACHHEIT 35
1
.7
FANG ENDLICH AN! 37
TEIL II DESIGN PATTERNS NEU UBERDACHT 39
2
COMMAND (BEFEHL) 41
2
.1 ' EINGABEKONFIGURATION 42
2.2
REGIEANWEISUNGEN 45
2.3
RUECKGAENGIG UND WIEDERHOLEN 47
2.4
KLASSEN OHNE FUNKTIONEN? 51
2.5
SIEHE AUCH 53
3
FLYWEIGHT (FLIEGENGEWICHT) 55
3
.1 DEN WALD VOR LAUTER BAEUMEN NICHT SEHEN 55
3.2
TAUSEND INSTANZEN 58
3.3
DAS FLYWEIGHT-PATTERN 58
3.4
EIN ORT, UM WURZELN ZU SCHLAGEN 59
HTTP://D-NB.INFO/1069431532
INHALTSVERZEICHNIS
3.5
UND DIE PERFORMANCE? 64
3.6
SIEHE AUCH 65
4
OBSERVER (BEOBACHTER) 67
4
.1 ERZIELTE LEISTUNGEN 67
4.2
FUNKTIONSWEISE 69
4.2
.1 DER OBSERVER 69
4.2.2
DAS SUBJEKT 70
4.2.3
BEOBACHTUNG DER PHYSIK-ENGINE 72
4.3
DAS IST ZU LANGSAM! 73
4.3
.1 ODER IST ES DOCH ZU SCHNELL? 74
4.4
ZU VIELE DYNAMISCHE ALLOKATIONEN 74
4.4
.1 VERKETTETE OBSERVER 75
4.4.2
EIN POOL VON LISTENKNOTEN 79
4.5
VERBLEIBENDE SCHWIERIGKEITEN 79
4.5
.1 SUBJEKTE UND OBSERVER LOESCHEN 80
4.5.2
KEINE SORGE, DER GARBAGE COLLECTOR ERLEDIGT DAS SCHON 81
4.5.3
WAS GEHT HIER VOR? 82
4.6
HEUTIGE OBSERVER 83
4.7
ZUKUENFTIGE OBSERVER 84
5
PROTOTYPE (PROTOTYP) 87
5
.1 DAS DESIGN PATTERN PROTOTYPE 87
5
.1.1 WIE GUT FUNKTIONIERT ES? 91
5.1.2
SPAWN-FUNKTIONEN 91
5.1.3
TEMPLATES 92
5.1.4
FIRST-CLASS-TYPEN 93
5.2
EINE AUF PROTOTYPEN BERUHENDE SPRACHE 93
5.2
.1 SEIF 93
5.2.2
WIE IST ES GELAUFEN? 96
5.2.3
WAS IST MIT JAVASCRIPT? 97
5.3
PROTOTYPEN ZUR DATENMODELLIERUNG 99
6 SINGLETON 103
6
.1 DAS SINGLETON-PATTERN 103
6
.1.1 BESCHRAENKUNG EINER KLASSE AUF EINE INSTANZ 103
6.1.2
BEREITSTELLUNG EINES GLOBALEN ZUGRIFFSPUNKTS 104
6.2
GRUENDE FUER DIE VERWENDUNG 105
6.3
GRUENDE, DIE VERWENDUNG ZU BEREUEN 107
6.3
.1 SINGLETONS SIND GLOBALE VARIABLEN 108
8
INHALTSVERZEICHNIS
6.3.2
DAS PATTERN LOEST ZWEI PROBLEME, SELBST WENN ES
NUR EINS GIBT 109
6.3.3
DIE SPAETE INITIALISIERUNG ENTZIEHT IHNEN DIE KONTROLLE 110
6.4
VERZICHT AUF SINGLETONS 112
6.4
.1 WIRD DIE KLASSE UEBERHAUPT BENOETIGT? 112
6.4.2
NUR EINE INSTANZ EINER KLASSE 114
6.4.3
BEQUEMER ZUGRIFF AUF EINE INSTANZ 115
6.5
WAS BLEIBT DEM SINGLETON? 118
7
STATE (ZUSTAND) 119
7
.1 ALTBEKANNTES 119
7.2
ZUSTANDSAUTOMATEN ERLEDIGEN DAS 123
7.3
ENUMERATIONEN UND SWITCH-ANWEISUNGEN 124
7.4
DAS STATE-PATTERN 127
7.4
.1 DAS INTERFACE FUER DEN ZUSTAND 128
7.4.2
KLASSEN FUER ALLE ZUSTAENDE 128
7.4.3
AN DEN ZUSTAND DELEGIEREN 129
7.5
WO SIND DIE ZUSTANDSOBJEKTE? 130
7.5
.1 STATISCHE ZUSTAENDE 130
7.5.2
INSTANZIIERTE ZUSTANDSOBJEKTE 131
7.6
EINTRITTS- UND AUSTRITTSAKTIONEN 132
7.7
WO IST DER HAKEN? 134
7.8
NEBENLAEUFIGE ZUSTANDSAUTOMATEN 134
7.9
HIERARCHISCHE ZUSTANDSAUTOMATEN 136
7.10
KELLERAUTOMATEN 138
7
.11 WIE NUETZLICH SIND SIE? 139
TEIL III SEQUENZIERUNGSMUSTER (SEQUENCING PATTERNS) 141
8 DOUBLE BUFFER (DOPPELTER BUFFER) 143
8
.1 MOTIVATION 143
8
.1.1 COMPUTERGRAFIK KURZ UND BUENDIG 143
8.1.2
ERSTER AKT, ERSTE SZENE 145
8.1.3
ZURUECK ZUR GRAFIK 146
8.2
DAS PATTERN 146
8.3
ANWENDBARKEIT 147
8.4
KONSEQUENZEN 147
8.4
.1 DER AUSTAUSCH SELBST KOSTET ZEIT 147
8.4.2
ZWEI FRAMEBUFFER BELEGEN MEHR ARBEITSSPEICHER 147
9
INHALTSVERZEICHNIS
8.5
BEISPIELCODE 148
8.5
.1 NICHT NUR GRAFIK 151
8.5.2
KUENSTLICHE UNINTELLIGENZ 151
8.5.3
GEBUFFERTE OHRFEIGEN 155
8.6 DESIGNENTSCHEIDUNGEN 156
8.6
.1 WIE WERDEN DIE BUFFER AUSGETAUSCHT? 157
8.6.2
WIE FEIN IST DER BUFFER UNTERGLIEDERT? 158
8.7
SIEHE AUCH 159
9
GAME LOOP (HAUPTSCHLEIFE) 161
9
.1 MOTIVATION 161
9
.1.1 INTERVIEW MIT EINER CPU 161
9
.1
.2
EREIGNISSCHLEIFEN 162
9
.1
.3
EINE AUS DEM TAKT GERATENE WELT 163
9
.1
.4
SEKUNDEN PRO SEKUNDE 164
9.2
DAS PATTERN 164
9.3
ANWENDBARKEIT 164
9.4
KONSEQUENZEN 165
9.4
.1 ABSTIMMUNG MIT DER EREIGNISSCHLEIFE DES
BETRIEBSSYSTEMS 165
9.5
BEISPIELCODE 1
66
9.5
.1 DIE BEINE IN DIE HAND NEHMEN 1
66
9.5.2
EIN KLEINES NICKERCHEN 166
9.5.3
EIN KLEINER UND EIN GROSSER SCHRITT 167
9.5.4
AUFHOLJAGD 169
9.5.5
IN DER MITTE HAENGEN GEBLIEBEN 171
9.6
DESIGNENTSCHEIDUNGEN 173
9.6
.1 STAMMT DIE GAME LOOP AUS IHRER FEDER ODER BENUTZEN
SIE DIE DER PLATTFORM? 173
9.6.2
WIE HANDHABEN SIE DIE LEISTUNGSAUFNAHME? 174
9.6.3
WIE STEUERN SIE DIE SPIELGESCHWINDIGKEIT? 175
9.7
SIEHE AUCH 176
10 UPDATE METHOD (AKTUALISIERUNGSMETHODE) 177
10.
1 MOTIVATION 177
10.2
DAS PATTERN 180
10.3
ANWENDBARKEIT 180
10.4
KONSEQUENZEN 181
10
INHALTSVERZEICHNIS
10.4.
1 VERKOMPLIZIERUNG DURCH AUFTEILEN DES CODES IN
EINZELNE FRAMES 181
10.4.2
DER ZUSTAND MUSS GESPEICHERT WERDEN, UM IM
NAECHSTEN FRAME FORTFAHREN ZU KOENNEN 181
10.4.3
OBJEKTE SIMULIEREN JEDEN FRAME, ABER NICHT
WIRKLICH EXAKT GLEICHZEITIG 182
10.4.4
OBACHT BEI DER MODIFIZIERUNG DER OBJEKTLISTE WAEHREND
DER AKTUALISIERUNG 182
10.5
BEISPIELCODE 184
10.
5.1 ENTITY-UNTERKLASSEN? 186
10
.5.2
ENTITIES DEFINIEREN 186
10.5.3
ZEITABLAUF 189
10.6
DESIGNENTSCHEIDUNGEN 190
10.
6.1 ZU WELCHER KLASSE GEHOERT DIE UPDATE()-METHODE? 190
10.6.2
WIE WERDEN INAKTIVE OBJEKTE GEHANDHABT? 191
10.7
SIEHE AUCH 192
TEIL IV VERHALTENSMUSTER (BEHAVIORAL PATTERNS) 193
11 BYTECODE 195
11.1 MOTIVATION 195
11.1.1 WETTKAMPF DER ZAUBERSPRUECHE 196
11.1
.2
DATEN CODE 196
11.1
.3
DAS INTERPRETER-PATTERN 196
11.1
.4
FAKTISCH MASCHINENCODE 200
11
.2
DAS PATTERN 201
11
.3
ANWENDBARKEIT 201
11
.4
KONSEQUENZEN 201
11
.4
.1 BEFEHLSFORMAT 202
11
.4.2
FEHLENDER DEBUGGER 203
11.5 BEISPIELCODE 203
11.5.1 EINE ZAUBERHAFTE API 203
11.5.2 EIN BEZAUBERNDER BEFEHLSSATZ 204
11.5.3 EINE STACKMASCHINE 206
11.5
.4
VERHALTEN = KOMPOSITION 209
11
.5.5
EINE VIRTUELLE MASCHINE 212
11
.5.6
HEXERWERKZEUGE 213
11
INHALTSVERZEICHNIS
II. 6 DESIGNENTSCHEIDUNGEN 215
II.6.1 WIE GREIFEN BEFEHLE AUF DEN STACK ZU? 215
N
.6.2
WELCHE BEFEHLE GIBT ES? 216
11
.6.3
WIE WERDEN WERTE REPRAESENTIERT? 217
11
.6.4
WIE WIRD DER BYTECODE ERZEUGT? 220
11
.7
SIEHE AUCH 222
12
SUBCLASS SANDBOX (UNTERKLASSEN-SANDBOX) 223
12.
1 MOTIVATION 223
12.2
DAS PATTERN 225
12.3
ANWENDBARKEIT 226
12.4
KONSEQUENZEN 226
12.5
BEISPIELCODE 226
12.6
DESIGNENTSCHEIDUNGEN 229
12.6
.1 WELCHE OPERATIONEN SOLLEN BEREITGESTELLT WERDEN? 229
12.6.2
SOLLEN METHODEN DIREKT ODER DURCH OBJEKTE, DIE SIE
ENTHALTEN, BEREITGESTELLT WERDEN? 231
12.6.3
WIE GELANGT DIE BASISKLASSE AN DIE BENOETIGTEN ZUSTAENDE?. . 232
12.7
SIEHE AUCH 236
13
TYPE OBJECT (TYP-OBJEKT) 237
13.
1 MOTIVATION 237
13
.1.1 DIE TYPISCHE OOP-LOESUNG 237
13.
1
.2
EINE KLASSE FUER EINE KLASSE 239
13.2
DAS PATTERN 241
13.3
ANWENDBARKEIT 241
13.4
KONSEQUENZEN 242
13.4.
1 TYP-OBJEKTE MUESSEN MANUELL GEHANDHABT WERDEN 242
.13.4.2
DIE DEFINITION DES VERHALTENS DER VERSCHIEDENEN TYPEN
IST SCHWIERIGER 242
13.5
BEISPIELCODE 243
13.
5.1 TYPARTIGES VERHALTEN VON TYP-OBJEKTEN: KONSTRUKTOREN. 245
13.5.2
GEMEINSAME NUTZUNG VON DATEN DURCH VERERBUNG 246
13.6
DESIGNENTSCHEIDUNGEN 250
13.6
.1 IST DAS TYP-OBJEKT GEKAPSELT ODER ZUGAENGLICH? 250
13.6.2
WIE WERDEN TYP-OBJEKTE ERZEUGT? 251
13.6.3
KANN SICH DER TYP AENDERN? 252
13.6.4
WELCHE FORMEN DER VERERBUNG WERDEN UNTERSTUETZT? 253
13.7
SIEHE AUCH 254
12
INHALTSVERZEICHNIS
TEIL V ENTKOPPLUNGSMUSTER (DECOUPLING PATTERNS) 255
14 COMPONENT (KOMPONENTE) 257
14
.1 MOTIVATION 257
14
.1.1 DER GORDISCHE KNOTEN 258
14.
1
.2
DEN KNOTEN DURCHSCHLAGEN 258
14.
1
.3
UNERLEDIGTES 259
14.
1
.4
WIEDERVERWENDUNG 259
14.2
DAS PATTERN 261
14.3
ANWENDBARKEIT 261
14.4
KONSEQUENZEN 262
14.5
BEISPIELCODE 262
14.
5.1 EINE MONOLITHISCHE KLASSE 263
14.5.2
ABSPALTEN EINES BEREICHS 264
14.5.3
ABSPALTEN DER UEBRIGEN BEREICHE 266
14.5.4
ROBO-BJ0RN 268
14.5.5
GANZ OHNE BJOERN? 270
14.6
DESIGNENTSCHEIDUNGEN 272
14.6
.1 WIE GELANGT EIN OBJEKT AN SEINE KOMPONENTEN? . . 273
14.6.2
WIE KOMMUNIZIEREN DIE KOMPONENTEN UNTEREINANDER? . . 273
14.7
SIEHE AUCH 277
15 EVENT QUEUE (EREIGNISWARTESCHLANGE) 279
15.
1 MOTIVATION 279
15
.1.1 EREIGNISSCHLEIFE DER GRAFISCHEN BENUTZEROBERFLAECHE 279
15.
1
.2
ZENTRALE EREIGNISSAMMLUNG 280
15.
1
.3
WIE BITTE? 281
15.2
DAS PATTERN 284
15.3
ANWENDBARKEIT 284
15.4
KONSEQUENZEN 285
15.4.1 EINE ZENTRALE EREIGNISWARTESCHLANGE IST EINE GLOBALE
VARIABLE 285
15.4.2
DEN BODEN UNTER DEN FUESSEN VERLIEREN 285
15.4.3
STECKENBLEIBEN IN RUECKKOPPLUNGSSCHLEIFEN 286
15.5
BEISPIELCODE 286
15.
5.1 EIN RING-BUFFER 289
15.5.2
ANFRAGEN ZUSAMMENFASSEN 293
15.5.3
THREADS 294
13
INHALTSVERZEICHNIS
15.6
DESIGNENTSCHEIDUNGEN 295
15.6
.1 WAS SOLL IN DIE WARTESCHLANGE AUFGENOMMEN WERDEN? . 295
15.6.2
WER DARF LESEND AUF DIE WARTESCHLANGE ZUGREIFEN? 296
15.6.3
WER DARF SCHREIBEND AUF DIE WARTESCHLANGE ZUGREIFEN? . 298
15.6.4
WIE LANG IST DIE LEBENSDAUER DER OBJEKTE IN DER
WARTESCHLANGE? 299
15.7
SIEHE AUCH 300
16
SERVICE LOCATOR (DIENSTLOKALISIERUNG) 301
16.
1 MOTIVATION 301
16.2
DAS PATTERN 302
16.3
ANWENDBARKEIT 302
16.4
KONSEQUENZEN 303
16.4
.1 DER DIENST MUSS AUCH TATSAECHLICH LOKALISIERT
WERDEN KOENNEN 303
16.4.2
DEM DIENST IST NICHT BEKANNT, WER IHN NUTZT 303
16.5
BEISPIELCODE 304
16.5
.1 DER DIENST 304
16.5.2
DER DIENSTANBIETER 304
16.5.3
EIN EINFACHER SERVICE LOCATOR 305
16.5.4
EIN LEERER DIENST 306
16.5.5
PROTOKOLLIERENDER DEKORIERER 308
16.6
DESIGNENTSCHEIDUNGEN 310
16.
6.1 WIE WIRD DER DIENST LOKALISIERT? 310
16.6.2
WAS GESCHIEHT, WENN DIE LOKALISIERUNG DES DIENSTES
SCHEITERT? 312
16.6.3
WER DARF AUF DEN DIENST ZUGREIFEN? 315
16.7
SIEHE AUCH 316
TEIL VI OPTIMIERUNGSMUSTER (OPTIMIZATION PATTERNS) 317
17
DATA LOCALITY (DATENLOKALITAET) 319
17
.1 MOTIVATION 319
17
.1.1 EIN DATENLAGER 320
17.
1
.2
EINE PALETTE FUER DIE CPU 322
17
.1
.3
DATEN = PERFORMANCE? 323
17.2
DAS PATTERN 324
17.3
ANWENDBARKEIT 325
M
INHALTSVERZEICHNIS
17.4
KONSEQUENZEN 325
17.5
BEISPIELCODE 326
17.5.
1 ANEINANDERGEREIHTE ARRAYS 326
17.5.2
GEBUENDELTE DATEN 331
17.5.3
HOT/COLD SPLITTING 335
17.6
DESIGNENTSCHEIDUNGEN 337
17.6
.1 WIE WIRD POLYMORPHISMUS GEHANDHABT? 338
17.6.2
WIE WERDEN SPIELOBJEKTE DEFINIERT? 339
17.7
SIEHE AUCH 342
18
DIRTY FLAG (VERALTET-FLAG) 345
18.
1 MOTIVATION 345
18
.1.1 LOKALE KOORDINATEN UND WELTKOORDINATEN 346
18
.1
.2
GECACHETE WELTKOORDINATEN 347
18
.1
.3
VERZOEGERTE BERECHNUNG 348
18.2
DAS PATTERN 350
18.3
ANWENDBARKEIT 350
18.4
KONSEQUENZEN 351
18.4
.1 NICHT ZU LANGE VERZOEGERN 351
18.4.2
DAS FLAG BEI JEDEM ZUSTANDSWECHSEL AENDERN 352
18.4.3
VORHERIGE ABGELEITETE DATEN VERBLEIBEN IM SPEICHER 352
18.5
BEISPIELCODE 353
18.5
.1 NICHT-OPTIMIERTE TRAVERSIERUNG 354
18.5.2
LET'S GET DIRTY 355
18.6
DESIGNENTSCHEIDUNGEN 358
18.
6.1 WANN WIRD DAS DIRTY FLAG GELOESCHT? 358
18.6.2
WIE FEINGRANULAR IST IHR DIRTY-TRACKING? 359
18.7
SIEHE AUCH 360
19
OBJECT POOL (OBJEKTPOOL) 361
19.
1 MOTIVATION 361
19
.1.1 DER FLUCH DER FRAGMENTIERUNG 361
19.
1
.2
DAS BESTE BEIDER WELTEN 362
19.2
DAS PATTERN 363
19.3
ANWENDBARKEIT 363
19.4
KONSEQUENZEN 363
19.4.1 DER POOL VERSCHWENDET MOEGLICHERWEISE SPEICHERPLATZ
FUER UNGENUTZTE OBJEKTE 363
19.4.2
ES STEHT NUR EINE FESTE ANZAHL VON OBJEKTEN ZUR VERFUEGUNG 364
15
INHALTSVERZEICHNIS
19.4.3
DIE OBJEKTE SIND VON FESTER GROESSE 365
19.4.4
WIEDERVERWENDETE OBJEKTE WERDEN NICHT AUTOMATISCH
ZURUECKGESETZT 365
19.4.5
UNBENUTZTE OBJEKTE VERBLEIBEN IM ARBEITSSPEICHER 366
19.5
BEISPIELCODE 366
19.
5.1 EINE KOSTENLOSE LISTE 369
19.6
DESIGNENTSCHEIDUNGEN 372
19.6
.1 SIND OBJEKTE AN DEN POOL GEKOPPELT? 372
19.6.2
WER IST FUER DIE INITIALISIERUNG DER WIEDERVERWENDETEN
OBJEKTE VERANTWORTLICH? 374
19.7
SIEHE AUCH 376
20
SPATIAL PARTITION (RAEUMLICHE AUFTEILUNG) 377
20
.1 MOTIVATION 377
20
.1.1 KAMPFEINHEITEN AUF DEM SCHLACHTFELD 377
20
.1
.2
SCHLACHTREIHEN ZEICHNEN 378
20.2
DAS PATTERN 379
20.3
ANWENDBARKEIT 379
20.4
KONSEQUENZEN 379
20.5
BEISPIELCODE 380
20.5
.1 EIN BOGEN MILLIMETERPAPIER 380
20.5.2
EIN GITTERNETZ VERKETTETER EINHEITEN 381
20.5.3
BETRETEN DES SCHLACHTFELDES 383
20.5.4
KLIRRENDE SCHWERTER 384
20.5.5
VORMARSCHIEREN 385
20.5.6
UM ARMESLAENGE 386
20.6
DESIGNENTSCHEIDUNGEN 390
20.6
.1 IST DIE AUFTEILUNG HIERARCHISCH ODER GLEICHMAESSIG? 390
20.6.2
HAENGT DIE ZELLENGROESSE VON DER VERTEILUNG
DER OBJEKTE AB? 391
20.6.3
WERDEN DIE OBJEKTE NUR IN DEN ZELLEN GESPEICHERT? 393
20.7
SIEHE AUCH 394
STICHWORTVERZEICHNIS 395
16 |
any_adam_object | 1 |
author | Nystrom, Robert |
author2 | Lorenzen, Knut |
author2_role | trl |
author2_variant | k l kl |
author_GND | (DE-588)1067639705 (DE-588)1020241446 |
author_facet | Nystrom, Robert Lorenzen, Knut |
author_role | aut |
author_sort | Nystrom, Robert |
author_variant | r n rn |
building | Verbundindex |
bvnumber | BV042667319 |
classification_rvk | ST 230 ST 324 SU 500 |
classification_tum | DAT 315f DAT 758f |
ctrlnum | (OCoLC)907553411 (DE-599)DNB1069431532 |
dewey-full | 794.8151 004 |
dewey-hundreds | 700 - The arts 000 - Computer science, information, general works |
dewey-ones | 794 - Indoor games of skill 004 - Computer science |
dewey-raw | 794.8151 004 |
dewey-search | 794.8151 004 |
dewey-sort | 3794.8151 |
dewey-tens | 790 - Recreational and performing arts 000 - Computer science, information, general works |
discipline | Sport Informatik |
edition | 1. Auflage |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>00000nam a2200000 c 4500</leader><controlfield tag="001">BV042667319</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20170801</controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">150702s2015 gw a||| |||| 00||| ger d</controlfield><datafield tag="015" ind1=" " ind2=" "><subfield code="a">15,N16</subfield><subfield code="2">dnb</subfield></datafield><datafield tag="016" ind1="7" ind2=" "><subfield code="a">1069431532</subfield><subfield code="2">DE-101</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9783958450905</subfield><subfield code="c">pbk.</subfield><subfield code="9">978-3-95845-090-5</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)907553411</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)DNB1069431532</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rda</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">ger</subfield></datafield><datafield tag="044" ind1=" " ind2=" "><subfield code="a">gw</subfield><subfield code="c">XA-DE-NW</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-M347</subfield><subfield code="a">DE-1102</subfield><subfield code="a">DE-523</subfield><subfield code="a">DE-859</subfield><subfield code="a">DE-858</subfield><subfield code="a">DE-860</subfield><subfield code="a">DE-573</subfield><subfield code="a">DE-11</subfield><subfield code="a">DE-91G</subfield><subfield code="a">DE-B768</subfield><subfield code="a">DE-355</subfield><subfield code="a">DE-703</subfield><subfield code="a">DE-20</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">794.8151</subfield><subfield code="2">22/ger</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">004</subfield><subfield code="2">23</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 230</subfield><subfield code="0">(DE-625)143617:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 324</subfield><subfield code="0">(DE-625)143660:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">SU 500</subfield><subfield code="0">(DE-625)143695:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">DAT 315f</subfield><subfield code="2">stub</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">790</subfield><subfield code="2">sdnb</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">004</subfield><subfield code="2">sdnb</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">793</subfield><subfield code="2">sdnb</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">DAT 758f</subfield><subfield code="2">stub</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Nystrom, Robert</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)1067639705</subfield><subfield code="4">aut</subfield></datafield><datafield tag="240" ind1="1" ind2="0"><subfield code="a">Game programming patterns</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Design patterns für die Spieleprogrammierung</subfield><subfield code="c">Robert Nystrom ; Übersetzung aus dem Amerikanischen von Knut Lorenzen</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">1. Auflage</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">[Frechen]</subfield><subfield code="b">mitp</subfield><subfield code="c">2015</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">399 Seiten</subfield><subfield code="b">Illustrationen, Diagramme</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Codeoptimierung</subfield><subfield code="0">(DE-588)4010348-1</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Entwurfsmuster</subfield><subfield code="0">(DE-588)4546895-3</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Computerspiel</subfield><subfield code="0">(DE-588)4010457-6</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Programmierung</subfield><subfield code="0">(DE-588)4076370-5</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Alle Spieleprogrammierer</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Games</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Spiele</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Entwickler</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Programmierung</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Spieleentwicklung</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Computerspiel</subfield><subfield code="0">(DE-588)4010457-6</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">Programmierung</subfield><subfield code="0">(DE-588)4076370-5</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="2"><subfield code="a">Entwurfsmuster</subfield><subfield code="0">(DE-588)4546895-3</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="3"><subfield code="a">Codeoptimierung</subfield><subfield code="0">(DE-588)4010348-1</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Lorenzen, Knut</subfield><subfield code="0">(DE-588)1020241446</subfield><subfield code="4">trl</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">X:MVB</subfield><subfield code="q">text/html</subfield><subfield code="u">http://deposit.dnb.de/cgi-bin/dokserv?id=5202032&prov=M&dok_var=1&dok_ext=htm</subfield><subfield code="3">Inhaltstext</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="q">text/html</subfield><subfield code="u">http://www.mitp.de/IT-Web/Programmierung/Design-Patterns-fuer-die-Spieleprogrammierung.html?listtype=search&searchparam=9783958450905</subfield><subfield code="3">Ausführliche Beschreibung</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">DNB Datenaustausch</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=028099432&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="943" ind1="1" ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-028099432</subfield></datafield></record></collection> |
id | DE-604.BV042667319 |
illustrated | Illustrated |
indexdate | 2024-09-10T01:47:32Z |
institution | BVB |
isbn | 9783958450905 |
language | German |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-028099432 |
oclc_num | 907553411 |
open_access_boolean | |
owner | DE-M347 DE-1102 DE-523 DE-859 DE-858 DE-860 DE-573 DE-11 DE-91G DE-BY-TUM DE-B768 DE-355 DE-BY-UBR DE-703 DE-20 |
owner_facet | DE-M347 DE-1102 DE-523 DE-859 DE-858 DE-860 DE-573 DE-11 DE-91G DE-BY-TUM DE-B768 DE-355 DE-BY-UBR DE-703 DE-20 |
physical | 399 Seiten Illustrationen, Diagramme |
publishDate | 2015 |
publishDateSearch | 2015 |
publishDateSort | 2015 |
publisher | mitp |
record_format | marc |
spelling | Nystrom, Robert Verfasser (DE-588)1067639705 aut Game programming patterns Design patterns für die Spieleprogrammierung Robert Nystrom ; Übersetzung aus dem Amerikanischen von Knut Lorenzen 1. Auflage [Frechen] mitp 2015 399 Seiten Illustrationen, Diagramme txt rdacontent n rdamedia nc rdacarrier Codeoptimierung (DE-588)4010348-1 gnd rswk-swf Entwurfsmuster (DE-588)4546895-3 gnd rswk-swf Computerspiel (DE-588)4010457-6 gnd rswk-swf Programmierung (DE-588)4076370-5 gnd rswk-swf Alle Spieleprogrammierer Games Spiele Entwickler Programmierung Spieleentwicklung Computerspiel (DE-588)4010457-6 s Programmierung (DE-588)4076370-5 s Entwurfsmuster (DE-588)4546895-3 s Codeoptimierung (DE-588)4010348-1 s DE-604 Lorenzen, Knut (DE-588)1020241446 trl X:MVB text/html http://deposit.dnb.de/cgi-bin/dokserv?id=5202032&prov=M&dok_var=1&dok_ext=htm Inhaltstext text/html http://www.mitp.de/IT-Web/Programmierung/Design-Patterns-fuer-die-Spieleprogrammierung.html?listtype=search&searchparam=9783958450905 Ausführliche Beschreibung DNB Datenaustausch application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=028099432&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis |
spellingShingle | Nystrom, Robert Design patterns für die Spieleprogrammierung Codeoptimierung (DE-588)4010348-1 gnd Entwurfsmuster (DE-588)4546895-3 gnd Computerspiel (DE-588)4010457-6 gnd Programmierung (DE-588)4076370-5 gnd |
subject_GND | (DE-588)4010348-1 (DE-588)4546895-3 (DE-588)4010457-6 (DE-588)4076370-5 |
title | Design patterns für die Spieleprogrammierung |
title_alt | Game programming patterns |
title_auth | Design patterns für die Spieleprogrammierung |
title_exact_search | Design patterns für die Spieleprogrammierung |
title_full | Design patterns für die Spieleprogrammierung Robert Nystrom ; Übersetzung aus dem Amerikanischen von Knut Lorenzen |
title_fullStr | Design patterns für die Spieleprogrammierung Robert Nystrom ; Übersetzung aus dem Amerikanischen von Knut Lorenzen |
title_full_unstemmed | Design patterns für die Spieleprogrammierung Robert Nystrom ; Übersetzung aus dem Amerikanischen von Knut Lorenzen |
title_short | Design patterns für die Spieleprogrammierung |
title_sort | design patterns fur die spieleprogrammierung |
topic | Codeoptimierung (DE-588)4010348-1 gnd Entwurfsmuster (DE-588)4546895-3 gnd Computerspiel (DE-588)4010457-6 gnd Programmierung (DE-588)4076370-5 gnd |
topic_facet | Codeoptimierung Entwurfsmuster Computerspiel Programmierung |
url | http://deposit.dnb.de/cgi-bin/dokserv?id=5202032&prov=M&dok_var=1&dok_ext=htm http://www.mitp.de/IT-Web/Programmierung/Design-Patterns-fuer-die-Spieleprogrammierung.html?listtype=search&searchparam=9783958450905 http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=028099432&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT nystromrobert gameprogrammingpatterns AT lorenzenknut gameprogrammingpatterns AT nystromrobert designpatternsfurdiespieleprogrammierung AT lorenzenknut designpatternsfurdiespieleprogrammierung |