I have attended live the sessions described below on day 1 at the Build conference and these are my notes from these sessions. Some parts might not be easily readable or understandable (even for me ) because the sessions were fast-paced and I tried to write down everything which seemed important to me. Nevertheless I hope that this brief summary is helpful to some of you.
Building Games for Windows
- Use Visual Studio Universal projects
- Unity Beta for Windows Phone 8.1 announced (RTM in the summer)
- Unity Beta 4.5 (RTM in the spring)
- Angle: bring OpenGL to Windows (DirectX)
- Use DirectX 12 and Direct 3D 12
Building great Windows and Windows Phone XAML Apps with Visual Studio 2013
- Build apps on Windows 8.1 and Windows Phone 8.1
- Support for C#, C++, JavaScript
- Visual Studio 2013 Update:
- New Store Apps project template: Universal Apps, Windows Apps, Windows Phone Apps
- Creating new universal apps:
- Universal Apps
- Blank/Hub App
- Class library/Windows RT Component
- Solution structure
- The following projects target the specific platform and include references to the corresponding SDKs but may include also platform-specific assets and XAML:
- .Windows
- .WindowsPhone
- .Shared => NEW!
- Container referenced by Windows 8 and Windows Phone 8.1 projects to share code
- May include localization, assets, XAML
- Cannot build, no output
- Migrating existing apps to universal apps:
- Add new Windows Phone 8 project
- Adds .Shared project automatically
- Move files between projects from project-specific to shared with cut-paste
- Change startup project in debug target dropdown, if more than one project in solution
- Back button navigation
- App has to respond, not exit!
- Hardware buttons must be supported in the app, only on Windows Phone 8.1 and not on Windows 8.1
- Usage of conditional C# code:
- #if WWINDOWS_APP … #endif
- #if WINDOWS_PHONE_APP … #endif
- New context switcher in the Visual Studio editor: Windows Phone/Windows with Intellisense support
- File is moved to selected context
- For XAML and C# files
- Element combo box in the Navbar
- Full support for universal apps in Blend
- If share between nX universal apps, use class libraries
- Code reuse for universal apps
- Shared projects: share code
- PCLs: share binary
- Windows 8.1 PCLs
- Properties => Targets
- Add reference in platform-specific projects
- Use Shared Projects in class libraries
- Template in Visual Studio Gallery
- Reference in platform-specific class libraries
- Project templates => C# node => Shared Asset Project (Empty)
- XAML authoring for Windows Phone 8.1
- Intellisense for resources and data bindings filtered by element type, e.g. TextBlock
- Already available for Windows 8.1, now also for Windows Phone 8.1
- F12: Got to definition works for binding property,style, type (e.g. Image) and can be used anywhere in the editor
- Designer: show device display with various resolutions
- Guide feature in Blend: Snap to, pixel perfect UI, Save/Load Guide
- Behaviors in Blend: add interactivity without writing code
Tips and Tricks in Visual Studio 2013
- Visual Studio 2013 Update 2 RC available today!
- Parallel Visual Studio 2010, 2012 and 2013
- Sign in to get the environment settings
- Select which settings should be synced in Options => Sync-ed Settings
- You can now resize the Tools => Options window
- Search in Options with Ctrl + I
- Notification hub
- Flag icon in the top right corner
- Critical notifications marked in red
- Windows Management
- Multiple monitors
- Shortcuts
- Dock: Windows + Left/Right
- Maximize/Minimize: Windows + Up/Down
- New Solution Explorer View scoped to folders/…
- Ctrl + double click on the window moved the window back to where it was if previously undocked
- Taskbar: Windows + Shift + 3 creates a new Visual Studio instance
- How to identify which Visual Studio instance is active: logo is grayed out (inactive) or colored (active)
- Ctrl + F4: close document in Visual Studio
- You can pin the documents with Pin Tab
- You can Close this, Close all, Close all but this
- Alt+W+L: close all
- Preview tab: preview document when navigating in the solution explorer
- Ctrl+Q: Quick launch
- Top right corner
- Categorized by Menus, Nuget, Options
- Scoped search by typing @menu
- Displays shortcuts
- Error list window: filter all, current project
- Search in New Project dialog
- Search in Add New Reference dialog
- Ctrl+I always goes to search in the current window or dialog
- Ctrl+F: Find
- Docked in the top right corner of the editor
- Enter/Shift+Enter: go forward/back
- Solution Explorer improvements
- C# files/classes: drill down to see members, navigate members directly in the solution explorer, displays in editor too
- Select file => Open containing folder
- Open command prompt
- Filters: scope to files in Pending Changes, with errors,…
- Inline errors where project and/or file is red underlines, popup error list
- Alt+F6: cycle through Visual Studio windows
- Ctrl+F2: focus to navigation dropdown, tab through dropdowns
- Editor improvements
- Alt+Up/Down: move one or more lines up and down
- Annotation over scrollbar
- Code preview: hover zooms in
- Ctrl+,: Navigate to
- In document place top right corner
- Alt+F2: peak window inline => full editor with possibility to edit in the peak window or to promote to document
- Code lenses above methods, hold down Alt+1/2/3 to open small summary window/lens
- Tools => Options => CodeLens settings
- Code lens can be undocked
- Bing code search for C# by starting to type in the editor => “How do I…?” displayed in a peak window with code snippets, e.g. stackoverflow
- Feedback: the bubble icon in the top right corner to send a smile or a frown
- Suggestions collected on the UserVoice site
Useful links
Innovations in High Performance 2D Graphics with DirectX Across Windows and Windows Phone
- D3D 11 on Windows Phone 8
- D2d and Image Effects, DirectWrite on Windows Phone 8.1
- Universal Visual Studio solutions
- Samples on MSDN
- Same code running on Windows and Windows Phone
- Shared and specific project are pushed together and compiled
- Sample: 99% shared code, specific include constants
- Text in 8.1: color fonts for Emoji instead of bmp because bitmaps don’t scale well
- These are just texts with color
- No need for different bitmaps with different DPIs
- Gradient not supported
- Segoe UI/Windows Phone Emoji
- 2D geometry
- Complex rendering is CPU bound
- Bitmaps need to be regenerated, don’t scale/rotate well
- Optimization goal is to work on the GPU and to eliminate CPU, to find a balance between CPU and GPU
- CPU for curve evaluation and tessellation => caching in Geometry Realization, reuse on GPU
- GPU for antialiasing and brushing
- Geometry realization is available also on Windows Phone
- Use Geometry Realization with static geometry, depends on scale factors, only for transformations like translation, rotation, uniform scale.
- Image effects
- Memory utilization and startup time taken up by images
- Quality vs. space trade-offs
- Block compression by 4 bits
- BC 1-3: DX 9+
- BC 1: 4 bits/pixel
- BC 2-3: 8 bits/pixel
- BC 4-5: DX 10+
- BC 6-7: DX 11+
- Best is BC3 or BC1, depending if with alpha or not
- JPEG YCBCR compression
You can find also lots of pictures from the conference and also some of the most important slides here on OneDrive.
Session recaps for day 2 and 3 are coming soon…