Develop & Optimize Your Game for Netbooks Omar Rodriguez and Orion Granatir Visual Computing Software Enabling 03/11/10
Download ReportTranscript 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