Video Game Optimization 1st Edition by Eric Preisz, Ben Garney – Ebook PDF Instant Download/Delivery: 978-1598634358, 1598634356
Full download Video Game Optimization 1st Edition after payment

Product details:
ISBN 10:1598634356
ISBN 13: 978-1598634358
Author: Eric Preisz, Ben Garney
“Video Game Optimization” describes a process for increasing the performance of a video game for better gameplay and visual experience. Very few game developers understand the process of optimizing an entire video game, yet learning the process is surprisingly simple and applicable to a broad audience. The book tackles the process of optimization by first describing how to determine where a game is limited and then providing detailed solutions and examples to solving this limitation. All the examples covered in the book can be applied to a variety of game types and coverage of how to optimize system memory, CPU processing, graphics, and shaders is included.
Table of contents:
Chapter 1
The Basics of Optimization.
Getting to Better Optimization
Optimization Lifecycle.
1: Benchmark
2: Detection.
3: Solve
4: Check.
5: Repeat
Hotspots and Bottlenecks
Hotspots
Bottlenecks
Trade-Offs.
Levels of Optimization
System Level
Algorithmic Level
Micro-Level
Optimization Pitfalls
Assumptions.
Premature Optimization.
Optimizing on Only One Machine.
Optimizing Debug Builds
Bad Benchmarks
Concurrency
Middleware
Big O Notation
Conclusion
Chapter 2
Planning for Your Project
Project Lifecyde
The Performance Budget.
Setting Specifications
Developing Line Items
Typical Project Trajectory.
Maximizing Return on Investment.
Visualizing Performance
Understanding Slowness
High Frame Rate
The Value of Consistency
Conclusion
Chapter 3
The Tools.
Intrusiveness.
Types of Tools.
Profilers.
System Monitors.
System Adjusters
Timers 101
Code Instrumentation
Simple Timing
Hierarchical Profiling
Counters
Reports
Tool Spotlight.
Intel VTune
Counter Monitor
Sampling
Call Graph..
Microsoft PIX for Windows.
NVIDIA PerfHUD..
NVIDIA FX Composer
DirectX Debug Runtime
gprof…
AMD CodeAnalyst
AMD GPU PerfStudio
Conclusion
Sources Cited
Chapter 4
Hardware Fundamentals.
Memory
Registers and Caches
Memory Mapping
Dynamic Random Access Memory
Direct Memory Access.
Virtual Memory
GPU and Memory.
Alignment and Fetching.
Caching.
CPU
Lifecycle of an Instruction.
Load/Fetch/Decode.
Execution.
Retirement.
Running Out of Order
Data Dependencies.
Branching and Branch Prediction
Simultaneous Multi-Threading
Multi-Core
GPU: From API to Pixel
Application Calls API
Geometry.
Rasterization
GPU Performance Terms
GPU Programmability
Shader Hardware.
Shader Languages
Shader Models.
Shaders and Stream Processing.
Conclusion
Chapter 5
Works Cited
Holistic Video Game Optimization
Holistic-The Optimal Approach
Parallelism and a Holistic Approach
The Power Is in the System.
The Process.
The Benchmark .
GPU Utilization.
The Decision
The Tools.
CPU Bound: Overview
CPU: Source Bound
What to Expect
The Tools.
Third-Party Module Bound
GPU Bound..
Pre-Unified Shader Architecture
The Tools.
Unified Shader Architecture
The Tools.
Kernels
Balancing Within the GPU
Fragment Occlusion
Graphics Bus.
Example
Conclusion
Works Cited
Chapter 6
CPU Bound: Memory
Detecting Memory Problems
Solutions.
Pre-Fetching
Access Patterns and Cache.
Randomness.
Streams
AOS vs. SOA.
Solution: Strip Mining
Stack, Global, and Heap
Stack
Global
Heap
Solution: Don’t Allocate.
Solution: Linearize Allocation.
Solution: Memory Pools.
Solution: Don’t Construct or Destruct…
Solution: Time-Scoped Pools.
Runtime Performance.
Aliasing
Runtime Memory Alignment.
Fix Critical Stride Issues.
SSE Loads and Pre-Fetches.
Write-Combined Memory
Conclusion
Chapter 7
CPU Bound: Compute.
Micro-Optimizations
Compute Bound.
Lookup Table
Memoization
Function Inlining.
Branch Prediction
Make Branches More Predictable
Remove Branches.
Profile-Guided Optimization.
Loop Unrolling
Floating-Point Math
Slow Instructions.
Square Root.
Bitwise Operations.
Datatype Conversions.
SSE Instructions.
History.
Basics.
Example: Adding with SIMD.
Trusting the Compiler.
Removing Loop Invariant Code.
Consolidating Redundant Functions
Loop Unrolling..
Cross-.Obj Optimizations..
Hardware-Specific Optimizations.
Conclusion
Works Cited.
Chapter 8
From CPU to GPU.
Project Lifecycle and You
Points of Project Failure
Synchronization
Caps Management
Resource Management.
Global Ordering.
Instrumentation
Debugging.
Managing the API..
Assume Nothing.
Build Correct Wrappers
State Changes
Draw Calls.
State Blocks
Instancing and Batching
Render Managers.
Render Queues
Managing VRAM
Dealing with Device Resets.
Resource Uploads/Locks
Resource Lifespans.
Look Out for Fragmentation.
Other Tricks.
Frame Run-Ahead
Lock Culling.
Stupid Texture (Debug) Tricks.
Conclusion
Chapter 9
The GPU.
Categories of GPU.
3D Pipeline.
I’m GPU Bound!?
What Does One Frame Look Like?.
Front End vs. Back End
Back End
Fill-Rate.
Render Target Format
Blending
Shading
Texture Sampling.
Z/Stencil Culling
Clearing.
Front End.
Vertex Transformation
Vertex Fetching and Caching
Tessellation
Special Cases.
MSAA
Lights and Shadows.
Forward vs. Deferred Rendering.
MRT.
Conclusion
Chapter 10
Shaders
Shader Assembly.
Full Circle.
Find Your Bottleneck
Memory
Inter-Shader Communication
Texture Sampling
Compute.
Hide Behind Latency
Sacrifice Quality.
Trade Space for Time.
Flow Control
Constants.
Runtime Considerations.
Conclusion
Chapter 11
Networking
Fundamental Issues.
Types of Traffic.
Game State and Events.
Bandwidth and Bit Packing and Packets, Oh My!
How to Optimize Networking
Embrace Failure
Lie to the User
Typical Scenarios.
Asset Download.
Streaming Audio/Video
Chat
Gameplay
Profiling Networking.
How to Build Good Networking into Your Game.
Conclusion
Chapter 12
Mass Storage.
What Are the Performance Issues?.
How to Profile
Worst Case.
Best Case.
What About Fragmentation?
SSDs to the Rescue!
The Actual Data.
Bottom Line.
A Caveat on Profiling
What Are the Big Opportunities?
Hide Latency, Avoid Hitches
Minimize Reads and Writes
Asynchronous Access
Optimize File Order
Optimize Data for Fast Loading
Tips and Tricks
Know Your Disk Budget
Filters
Support Development and Runtime File Formats.
Support Dynamic Reloading
Automate Resource Processing
Centralized Resource Loading..
Preload When Appropriate.
People also search for:
video game optimization pdf
video game optimization book
video game optimization techniques
video game optimization eric preisz
video game optimization reddit


