macro-benchmarks, 173
Macromedia Flash script (ActionScript), 308
magmapping texture filtering, 375
Main method, 316
MainMenuContainer class, 424
major collections and GC, 169
managed images in 2D games, 77–78
ManagedExample class, 77–78
Map class, 218
MappedByteBuffers, 139–143
mapping
bump, 380
Java types to C/C++ types, 321
texture, 371–372
massively multiplayer online role-playing games. See MMORPGs
Math class, 255
math performance
creating alternate math methods, 270
double-precision numbers, 242
fixed-point math, 243–245
introduction to Java, 239–240
inverse square root, 255
sine and cosine, 245–251
square root, 251–259
matrix
classes, creating, 261–269
hierarchies, geometry and, 439–444
Maya Script (MELScript), 308
memory
conserving texture, 378–380
direct, and IO access from Java, 345–348
footprints. See footprints
Java heap, 135, 152, 334
and MappedByteBuffer, 142
optimizing, 184
and performance bottlenecks, 177–178
RAM, optimizing, 184
scripting engine manager, 299
system, 135, 334
VM use, 311
VRAM, 73–74
memory-mapped files, 118, 141
menus, creating, 419
messages, printing and displaying, 40
method descriptors (table), 330
method functions, JNI (Java Native Interface), 328
method identifier (jmethodID), 329–330
method invocations, 161
methods
See also specific methods
call graphs and, 175
compiled representation, 154–155
creating alternate math, 270
native vs. non-native, 188–189
and performance optimization, 187
statically bound vs. virtual, 188
timing of native and nonnative (table), 349
virtuality, 330
micro-benchmarks, 171
Microsoft Dependency Viewer, 316
Microsoft Excel, storing tables, lists with, 300
Microsoft .NET, 306
Microsoft Raw Native Interface, 317
Microsoft Virtual C++, compiling code, 299
microthreads, 309
MIDI and Java audio, 87
minimizing
math functions, 241
number of classes, 192
minor collections and GC, 169
MIPmapping, 376–378
MMOs (multiplayer online) games
current development of Java, 11–12
and data caching, 295–296
growth of, 271
Java and, 7
MMORPGs (massively multiplayer online role-playing games), 11–13
models
AWT event, 26
generics, 18–19
security, for Java classes, 5
sound attenuation, 98
3D, 360
ModelView matrix (OpenGL), 364
modes, video, choosing for games, 58–63
modifying existing games, 301
monitor
refresh rate, 2D games, 55
refreshing, 29–30
morphing objects, 458, 460
mouse events in GUI systems, 419, 421
MouseListener interface and obtaining gamer’s input, 27
movement, frame rendering and, 28–29
MP3 files, 113
multicast
channels, 198–199
sockets, coordinating discovery, 210
UDP sockets, 201
MulticastDiscovery class, 222
MulticastSocket, 202
MultiDiscovery thread, 218
multiplayer networked games, 8
multiplayer online games. See MMOs
MultiSounds sample program, 103
multithreading
issue with JOGL, 404–405
in scene graphs, 447
MySQL
as game database, 279–284
Query Cache, 293