Develop & Optimize Your Game for Netbooks Omar Rodriguez and Orion Granatir Visual Computing Software Enabling 03/11/10

Download Report

Transcript Develop & Optimize Your Game for Netbooks Omar Rodriguez and Orion Granatir Visual Computing Software Enabling 03/11/10

Develop & Optimize
Your Game for
Netbooks
Omar Rodriguez and Orion Granatir
Visual Computing Software Enabling
03/11/10
1
Agenda
* Other names and brands may be claimed as the property of others.
2
Tailor your games for Netbooks


Smaller keyboard

Complete web experience
including Flash & HD video



Digital distribution

1.3 megapixel camera & mic
mounted on the lid
* Other names and brands may be claimed as the property of others.
10-inch screen with 1024x600
resolution
Average 10 hours of battery life
Always connected with Wi-Fi,
Bluetooth*, and WiMAX
3
Netbooks are bank



~40 million shipped so far

6-month ramp of netbooks was
faster than Apple* iPhone* or
Nintendo* Wii*
~139 million projected by 2013
Approximately 7% of online users
in US report owning a netbook
Sources: NPD Group, “A closer look at netbooks”, June 2009 / ABI Research
* Other names and brands may be claimed as the property of others.
4
Reach the market with
Intel AppUpSM Center BETA


Join the Intel® Atom™ Developer
Program
Games & game components can
be sold on Intel AppUpSM Center

Available in US & Canada,
soon to be worldwide

SDK for working with app
store

Validation in place to ensure
games run on netbooks

Validation for Flash games
coming soon

Developers receive up to 70%
of the revenue
appdeveloper.intel.com
intelappup.com
5
Enter the Intel® Atom™ Developer
Challenge to Win Big

appdeveloper.intel.com/challenge
Intel® Atom™ Developer Challenge
-
The quest for groundbreaking new
netbook applications
-
Launched March 9, 2010
Start earning revenue once your game
is validated and featured in the Intel®
AppUpSM Center BETA
intel.com/software/levelup2010

Level Up 2010
-
The Intel® Visual Adrenaline Game
Demo Challenge
-
Enter your game idea in the new
category “Best Game for a Netbook”
-
Seize the opportunity to win prizes
and recognition
6
Run Fireflies
7
The Intel® Atom™ Processor
Full x86 IA in size of a grain of rice
• In-order processing
• Supports up to two threads
with Intel® Hyper-Threading
Technology
• Supports SSE3
• Accompanied by Intel® GMA
945, 3150, or 500
• Integrated graphics, I/O,
and memory controller
8
Optimize your game for the
Intel® Atom™ Processor with ICC
 CPU doesn’t re-order instructions…
9
Optimize your game for the
Intel® Atom™ Processor with ICC
 CPU doesn’t re-order instructions…
 Use the Intel® Compiler with the following
flags: /QxL /QxSSE3_ATOM
 Easy 1.2-1.3x speed up
10
Maximize the Intel® Atom™ Processor
with Threading & SSE
 The Intel® Atom™ Processor is an in-order
processor, hyper-threading helps alleviate
bottlenecks that out-of-order processing
would handle
 The Intel® Atom™ Processor has SSE3 support
for faster floating point math (1.1x to 1.3x
speed up)
 Games that already support threading and
SSE will already run with great performance
11
Know Your GFX Chips:
Intel® GMA 945, 3150 & 500
 945 & 3150 are more common
-
DirectX* 9.0c with Pixel Shader 2.0
Vertex processing done on CPU
Texture decompression for DXT1-DXT5 and FXT1
Use strips and indexed vertices over point, line, and triangle
lists
 500 supports hardware vertex processing
 Full screen increases performance (no context
switching with Windows* Vista*/7)
* Other names and brands may be claimed as the property of others.
12
Vertex Processing and Threading
Caveat
 Intel® GMA 945 & 3150 offload vertex
processing to CPU
 The driver will be running along side your app
and utilizing resources
 Threading might incur a performance penalty
13
Overcoming small screen sizes

Position elements on screen
relative to where they belong

Show only options necessary for
game play on screen

Use expressive icons with text on
tooltips for on screen UI
button.x = right + 10
button.y = top + 10
button.x = 100
button.y = 10

Scale art assets based on screen
size/resolution but impose a
minimum size
Back
14
Monitor power events & connectivity
 Use the Intel® Laptop Gaming TDK to track:
- Power source: GetPwrSrc()
- Battery life: GetPercentBatteryLife()
- Network connectivity: Get80211SignalStrength()
 Use Windows* Power Management functions
-
Listen for WM_POWERBROADCAST event
Detect suspend, hibernate, close lid, low battery, and more
intel.com/software/laptopgamingtdk
* Other names and brands may be claimed as the property of others.
15
Add support for ad-hoc gaming
 Intel® Laptop Gaming TDK
-
Create a Personal Area Network for others to join
No Internet infrastructure is required
 Windows* Peer Collaboration API
-
Use People Near Me to find peers
Discover other peers on the same subnet or LAN
* Other names and brands may be claimed as the property of others.
16
Intel tools support the
Intel® Atom™ Processor
• Intel® GPA is designed for games
-
System Analyzer gives complete view of system resources
Frame Analyzer allows you to dive into a DX frame
Task Analyzer allows you to instrument code to analyze
workload balance and execution time
Intel® C/C++ Compiler
Intel® Laptop Gaming TDK
Intel® Parallel Studio
Intel® Threading
Building Blocks
• Intel® VTune™
Performance Analyzer
•
•
•
•
17
Key Takeaways
• Tailor your games for netbooks
• Reach the market with the Intel® AppUpSM Center
BETA
• Optimize your game for the Intel® Atom™ Processor
with ICC
• Maximize the Intel® Atom™ Processor with
Threading & SSE
• Know your graphics chipsets
• Intel tools make your life easier
• A netbook (…and the winner is?)
18
Contact Information
http://www.intel.com/software/gdc
[email protected]
[email protected]
See Intel at GDC:
Intel Booth at Expo, North Hall #1212
- We’re interviewing developers today on video from 2-4PM.
-
Come discuss developing applications for netbooks!
Come enroll in the Intel® Atom™ Developer Program and score a
free, limited edition tee-shirt
Intel Interactive Lounge, West Hall, 3rd Floor
- Join us to play games on the latest Intel platforms
19
Please fill out an evaluation form
Thank you
Or else…
20
Other Intel Sessions
Simpler Better Faster Vector
Friday, March 12 @ 1:30PM
North 122
Firaxis' Civilization V:
A Case Study in Scalable Game Performance
Friday, March 12 @ 1:30PM
South 302
Task-based Multithreading –
How to Program for 100 Cores
Friday, March 12 @ 4:30PM
South 300
21
Legal Disclaimer









INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL® PRODUCTS. NO
LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL
PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL’S TERMS
AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER,
AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF
INTEL® PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A
PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR
OTHER INTELLECTUAL PROPERTY RIGHT. INTEL PRODUCTS ARE NOT INTENDED FOR USE IN
MEDICAL, LIFE SAVING, OR LIFE SUSTAINING APPLICATIONS.
Intel may make changes to specifications and product descriptions at any time, without notice.
All products, dates, and figures specified are preliminary based on current expectations, and are subject to
change without notice.
Intel, processors, chipsets, and desktop boards may contain design defects or errors known as errata, which
may cause the product to deviate from published specifications. Current characterized errata are available on
request.
Performance tests and ratings are measured using specific computer systems and/or components and reflect
the approximate performance of Intel products as measured by those tests. Any difference in system
hardware or software design or configuration may affect actual performance.
Intel, Intel Inside, and the Intel logo are trademarks of Intel Corporation in the United States and other
countries.
Any software source code reprinted in this document is furnished under a software license and may only be
used or copied in accordance with the terms of that license
*Other names and brands may be claimed as the property of others.
Copyright © 2010 Intel Corporation.
22
backup
23
How to Enroll for the Intel® Atom™
Developer Program



Visit appdeveloper.intel.com and click “Get an ID” in
the upper right
After getting your ID and logging in, click “My
Dashboard”
Then you will see the enrollment graphic; click it to
begin the enrollment process, which should take no
more than a few minutes.
Enrollment is free for a limited time, so don’t delay!
24
Remote tools are your friend

Visual Studio’s remote
debugger allows you to
develop on a desktop

Tools like GPA support
remote execution

Use VTune‘s Pack and
Go feature

Mapping a network
drive for both machines
makes debugging easier
25
Start with System Analyzer

Examine the CPU and GPU
workload to see the whole
picture

Run System Analyzer from
a remote system
26
If CPU bound,
use Parallel Studio/VTune
Improve performance with:
 Use Intel® Compiler
 Use threading
 Use SSE3
27
If you are GPU bound,
use Frame Analyzer
•
Remember, GMA 945 and
3150 use CPU vertex
processing
•
Minimize multi-pass
rendering and postprocessing
•
Avoid points sprites (use
screen aligned quads)
28