Coherent GT Performance Best Practices 1.4.0
|
|
|
- Florence Fleming
- 9 years ago
- Views:
Transcription
1 Coherent GT Performance Best Practices 1.4.0
2
3 Contents 1 Profiling and troubleshooting performance with Coherent GT Is an issue in the UI or the application? Asynchronous GT Performance audits Inspector overview How to find which operation in the UI is slow? Some of my JavaScript code is slow, what now? My JavaScript animations are slow, what to do? Seems my styles and/or layout is slow, what now? I have too many repaint / I have a huge paint, what now? How can I find if a particular element is causing a slow-down? Performance best practices JavaScript Drawing Elements Avoiding re-paints with layers Improving your JavaScript with Google Closure compiler Consider asynchronous mode
4
5 Chapter 1 Profiling and troubleshooting performance with Coherent GT Coherent GT includes powerful tools and APIs to help developers measure its performance impact on the application and eventually optimize the UI content. Coherent GT aims to occupy a maximum of 10% of the frame budget, which for a 60 FPS title equals to 1.6ms per-frame. If you feel that Coherent GT is taking more time than the per-frame budget you ve allotted to it, or simply want to squeeze more cycles out of it, this guide will show you what to look for and how to optimize your UI. Note that the numbers in these guide are for reference. They depend on the platform and the architecture of the application you use Coherent GT in. Coherent GT is a product that improves constantly with every version and the performance profile changes accordingly. Coherent Labs offers a Developer access program that directly connects users to experts from Coherent Labs. We can provide profiling, auditing and ideas in order to get the best out of Coherent GT. Please contact support or your account manager for further information. 1.1 Is an issue in the UI or the application? The first step is to determine if a performance issue is due to the UI or something else in the application. The easiest way to see this is look for the Coherent GT performance warnings. In development builds (if not disabled in the ViewInfo or SystemSettings), Coherent GT will emit performance warnings when it detects that something is not performing as expected. The performance warnings are printed in the UI log or in Unreal Engine 4 are directly printed on-screen in the Unreal Editor. Each performance warning will tell you where it is happening and give a clue where to look for when optimizing. Take for instance the warning related to JS execution times: "Coherent GT: Performance warning on View 0 JS execution time is high (values is in ms). Threshold value: 0.75 Detected value: 1.6 URL: coui://mytestui/uiresources/hud.html [You can customize this warning]" This means that there is something in the JS code that is taking too much time. You can use the Coherent GT Inspector to check what is executed in JavaScript. If there are no performance warnings, it is very unlikely that the issue is related to Coherent GT. The threshold values of the warnings are customizable, so you can tune them for your own frame-time budget. Note that the warnings don t cover the GPU time required to draw the UI. To profile GPU time please use advanced GPU debugging tools like the Visual Studio Graphics Analyser, NVidia NSight, AMD GPU Profiler, Intel GPA, Renderdoc etc.
6 2 Profiling and troubleshooting performance with Coherent GT 1.2 Asynchronous GT As of Coherent GT 1.2 you can run all JavaScript, style, layout and rendering command recording in a worker thread. This effectively removes all UI overhead from the main thread of the application. You should always strive to have good performance with the async API also. The Advance() and Layout() calls will stall if the previous calls haven t finished on the worker thread in order not to desync the UI and the application. If the UI work is more than the whole frame of the game, it will stall. 1.3 Performance audits If you have determined that there is a GT operation that is taking too long, you can run an automated "Performance audit" that will help pinpointing sub-optimal elements or code. Coherent GT can automatically analyse your current UI and report what might be optimized. Please run the automated "Performance audit" and re-check the performance after you ve followed the instructions provided by it. See the Rendering chapter in the main documentation file for information on how to run the audit. In the Unreal Engine 4 Editor just use the Coherent GT menu. 1.4 Inspector overview When deeper information is needed when profiling, we can use the bundled Coherent GT Inspector. The Inspector is available in the package and can be used to connect to a live UI, debug UI, profile and check all elements within the DOM. The Inspector uses the same UI as the WebKit Inspector, which is a well-known tool to all web developers. On a guide how to start the Inspector, please refer to the UIDebugging chapter of the Documentation. In Unreal Engine 4, just use the Coherent GT Menu and click Launch Inspector.
7 1.4 Inspector overview 3 This image shows the "Elements" tab of the Inspector. It can be used for live-editing all CSS properties. If you think that a bottleneck is rooted in style/layout or painting, you can delete all elements in the UI and see what impact that will have on frame-rate. Press "Ctrl-Z" to undo the delete and restore your UI. The most important performance-related feature of the Inspector is the Timeline. It shows exact timings of all operations taking place within the UI. Just click the "Record" button (the grey dot in the bottom-left) and collect as much data as needed. Important events include: Event - outside events like mouse over, clicks, keyboard events etc. Timer fired - when a timer in JS fires Request animation frame fired - what a requestanimationframe handler is called Recalculate style - a CSS style recalculation caused by some event or JavaScript code Layout - how much time it took to re-layout part of the page. The vent includes how many elements needed layout and how many DOM elements will be touched. Time Start/End - events triggered in native code via the Binding API Paint - parts of the View that get re-painted. Note that only the CPU time is recorded, not the actual time it took the GPU to perform the draw actions. Each event also highlights the parts of the screen that have been re-painted.
8 4 Profiling and troubleshooting performance with Coherent GT The "Profiles" tab allows to run JavaScript profiling that will show how much time individual JS functions take. It can be used to quickly find bottlenecks in JS code. 1.5 How to find which operation in the UI is slow? Start the Inspector and capture in the Timeline some frames where you experience sub-optimal performance. Now in the Timeline you can see how much time each event took. There are several usual outcomes from this operation. Too many event calls from native code. Calling JavaScript from C++/C#/Blueprints incurs some overhead. It s better to pack multiple pieces of information together and send it in one event to the UI. Too much/slow JavaScript code. Use the "Profiles" to check JS code. Check also the next section where we discuss more techniques to make JS code faster. Style and Layout is taking a lot of time. Please check the section that in detail explains how to optimize styling and layout. Too many/slow paints. Having too many tiny paints or large paints that cover many elements on-screen could be detrimental to performance. Please consult the section about paints that explains how to effectively use layers to eliminate superfluous paints. Parse HTML calls. Doing in-line HTML parses (caused by JS) is very slow. You can see the line in code that causes a parse and eliminate it. Some third-party libraries like jquery tend to do this and their use is discouraged. Paints with "Image decode". When a new image is required, it has to be loaded and decoded. This can cause a noticeable stall in the UI. Consider pre-loading images required by a page.
9 1.6 Some of my JavaScript code is slow, what now? Some of my JavaScript code is slow, what now? There are several reasons that can cause JS code to under-perform. As a general rule JS code is slower than native code. Try to execute minimal JS to drive the UI and move calculations and logic to native code. Run a profile of the JS code from the "Profiles" tab. This could give you an idea where a bottleneck in code lies. Too many TriggerEvent (20+) calls can cause degraded performance. There is a fixed cost to call JS from native code. Pack data and execute less calls to JS. The same applies for calling native code from JS. JavaScript causes in-line re-layouts. This is easily recognizable as layout events inside some JS execution.- There are methods in JavaSctipt that cause immediate re-layouts of the page in order to get a property. This is extremely inefficient and can cause severe performance drops. jquery is a library that often does this in its "css()", "show()", "hide()" and other methods. We discourage using jquery at all. Slow-downs in Edge Animation code. If you use Adobe Edge Animation, you might see slow-downs in its JS code. The major issue is that Edge animates every thing with JavaScript. If you have too many simultaneous animations (10+), the JS performance can be severely affected. Edge continues to animate even Stages/- Symbols that are not visible. If you have many dynamic symbols, delete the one you don t use, don t just hide them. Consider moving simple animations to CSS animations or the Coherent Animation library. Many calls to jquery/angular. Libraries like jquery were created for web browsers where the performance requirements are much lower compared to a game UI. Avoid using jquery or Angular. In particular avoid all methods that require in-line re-layouts or html parsing. Never use "html()", "css()", "show()", "hide()". Coherent GT will emit warnings if it detects calls to those methods. 1.7 My JavaScript animations are slow, what to do? Some libraries animate though JavaScript code and that can lead to performance degradations. Avoid at all costs jquery animations. If you are using Edge Animate, avoid having too many animations running simultaneously (10+). It s best to move animations to the Coherent Animation library. You can still use your symbols and stages. The best solution is moving to CSS-based animations ( animations.asp). CSS animations are fully evaluated in C++ and are an order of magnitude faster than JavaScript-based ones. Especially for simple and repeating animations, move them to CSS. You can do this keeping your Edge Animate work-flow and continue to use your stages and symbols. 1.8 Seems my styles and/or layout is slow, what now? First check that a maximum of only one layout and style re-calculation is done per-frame. Some JS libraries force in-line re-layouts that degrade performance. Try to limit the subset of elements that have to be re-laid out. There are several simple techniques that allow you to do that: Place elements absolutely Move elements with "translate" instead of "top/left" Scale elements with "scale" instead of "width/height". Limit the DOM elements count. The more elements you have, the slower a full layout will take. as a general rule DOM elements are usually more than enough for very complex UI. To see the DOM elements count, run this line in the Inspector console document.getelementsbytagname(" ").
10 6 Profiling and troubleshooting performance with Coherent GT 1.9 I have too many repaint / I have a huge paint, what now? Use the Timeline to see which parts of the screen are re-painted. You can see what is getting redrawn each frame by using the Inspector, clicking the gear (low-right) icon and checking Show Paint Rectangles. Some elements might cause re-draws of parts of the screen by moving over them although they are the only thing that changes. The best way to reduce paints is to effectively use "Layers". You can promote elements to layers. When an element changes, it will re-draw only it s layer and not other elements that are under or over it. Moving and scaling layers with "-webkit-transform" is essentially a free operation. It will not cause re-layouts or re-paints. The layers will just get composited in a different way. Imagine you have a heavy HUD interface with many elements and a crosshair that moves across all the screen. Without layers, when the crosshair moves over other elements of the View they ll have to be redrawn, even if they are completely static. This can be wasteful and reduce performance. An effective solution is to move the crosshair in its own layer. You can do this by adding a dummy transform: -webkit-transform: rotatex(0deg). Now when the crosshair moves over other elements, they will not be redrawn and performance will be improved. Please consult the section on layers below in this document. Note that many or expensive paints will also affect the GPU time of the rendering as they ll often cause more GPU commands to happen How can I find if a particular element is causing a slow-down? There is a very simple way to check if a particular element or a hierarchy of elements is slow. Look at your frametime, connect the Inspector and simply delete this element from the "Elements" tab. Use "Ctrl-Z" to undo the operation and get the element back. If you see a significant change in frame-time, there probably is something sub-optimal in the element. Removing the element might reduce paints or layouts, in this case try to move it to a layer.
11 1.11 JavaScript 7 In other cases the element itself (or a descendant) might have CSS properties that are costly to evaluate or render. Elements with shadows are slower to render than elements without. Try removing single CSS properties in the Inspector (in the right pane after you ve selected the element) and look for an improvement in frame-time. Please consult the following sections for details on properties that are more costly than others Performance best practices Coherent GT allows for easy performance testing through the built-in Inspector support. Use the Timeline feature to check the performance of different parts of your UI - JavaScript execution time, layout times and re-paints. Coherent GT will emit performance warnings in the file log. You can disable those warnings in the System- Settings or per-view in the ViewInfo structure. You can also change the threshold values that will cause a warning to emit. Warnings help identifying quickly during development that some change has caused a performance drop. You should disable them in shipped products. When you receive a performance warning, you can use the Inspector to profile eventual inefficiencies in the interface and use the information provided in this document to optimize the UI. In addition to the warnings, Coherent GT can also audit HTML pages and check for suboptimal CSS and HTML usage. See the Rendering chapter in the main documentation file for information how to use them JavaScript Avoid having too much logic in JavaScript. Although the GT JS interpreter is fast, code ran through it is still slower than native code. Prefer JS for simple logic and code as much as possible in native. Avoid doing too many calls to/from JS in a single frame. Crossing the boundary between JS and C++ involves
12 8 Profiling and troubleshooting performance with Coherent GT some overhead. Prefer packing more information in bigger events. Avoid setting state in JS with redundant state. For example if you set the health of a player, don t send an event each frame with the health but just send it when the health has actually changes in native code. This will save redundant JS executions and probably some repaints. Prefer CSS3 animations over JavaScript ones when possible. CSS3 animations are evaluated in C++ and no JS code has to be executed for them. When animating with JavaScript prefer the Coherent Animation library. It is has very powerful features and great performance. When using Adobe Edge Animate avoid having too many animations active at the same time. Adobe are constantly improving the performance of their timeline animations but they are still slower than the ones created with the Coherent Animation library. You can improve performance by moving animations to the Coherent Animation library. Edge supports seamlessly adding external code/animations. Profile third-party libraries that you use. Some of them generate code that is not optimal. Avoid using jquery s show(), hide(), css() functions - use directly the JS element s methods. jquery is slow for DOM access. getelementby. On events that happen very often prefer using the built-in JS methods Avoid using jquery s html() and text() functions - use directly textcontent. Cache selected elements in functions or members. Avoid re-selecting elements. Extensively use the Inspector to profile JavaScript code. You can use the Timeline and the Profile-> Collect JavaScript CPU Profile facilities. You can set the frame-rate at which requestanimationframe is called. Usually this can be set to a value that is much less than the frame-rate of the game. Calling the animation callbacks too often will waste C- PU cycles. You can control the animation frame-rate through the ViewInfo::AnimationFrameDefer member. Set the defer value to the largest possible that looks correct Drawing A key factor to Coherent GT s high performance is the fact that it doesn t always redraw elements. You can see what is getting redrawn each frame by calling the View::ShowPaintRects method or using the Inspector, clicking the gear (low-right) icon and checking Show Paint Rectangles. Avoid moving or changing styles of element that are not drawn. In some cases this might cause redundant re-paints of parts of the UI. Use the Show Paint Rectangles debug feature to make sure that only the correct parts are redrawn. Avoid changes that cause layout recalculations - prefer absolute positioned elements when possible Elements Coherent GT draws the UI using the GPU. It emits Draw Calls to the driver that perform the actual rasterization. Minimizing the Draw Call count is important in order to improve CPU performance. Coherent GT will try to minimize the necessary Draw Calls. Coherent GT can draw both raster images and vector elements. Both have advantages and drawbacks. Raster images are usually faster to draw and require less draw calls but consume memory and are not resolution independent. Vector elements (HTML elements like divs, SVGs) are resolution-independent and will look great under any scaling. Depending on the element they might be more costly to draw. Complex SVG images might require many Draw Calls. Note that for elements that reside in parts of the screen that don t get re-painted the following guidelines might not apply as they will be drawn just once. Elements that are never redrawn are effectively free per-frame. However if
13 1.14 Avoiding re-paints with layers 9 another element moves on-top of a static one - both will get re-drawn. Use the Show Paint Rectangles to inspect the parts of the screen that get re-painted in your UI. Some elements are more costly to draw than others and will require more Draw Calls. Avoid tiny divs. Creating small UI elements from divs is an overkill. Prefer rasters images or SVG. Especially if animated these tiny divs will put pressure on the layout engine. Vector elements with stroked outlines increase draw calls. Each stroke adds a draw-call. Prefer sharp edges on vector elements instead of rounded ones. Consider raster images. Rounded corners increase draw calls. Shadows and blurs are very costly. They impose a strict ordering that breaks Draw Call batching and require complex shaders for producing the effects. Figure 1.1: Visualizing redrawn parts in a HUD 1.14 Avoiding re-paints with layers Coherent GT can move certain parts of the page in their own layers. When in the page there are layers we say that the page is in "compositing" mode. Layers can be used to avoid re-paints of heavy elements. Every Element that has some sort of CSS3 3D transform gets its own layer. You can also force Elements to become layered with a dummy transform: -webkit-transform: rotatex(0deg).
14 10 Profiling and troubleshooting performance with Coherent GT Figure 1.2: The animated crosshair causes redraws of HUD elements Figure 1.3: The crosshair has its own layer. Now it doesn t cause re-paints to elements it intersects. NB: In Coherent GT -webkit-transform: translatez(0px) will NOT cause a new layer to be created. Many tools like Adobe Edge Animate abuse this technique and create layers for every element with a dummy translatez. In the end this hurts performance. Users are encouraged to create their layers with alternative methods like "-webkit-transform: rotatex(0deg)" if needed. Imagine you have a heavy HUD interface with many elements and a crosshair that moves across all the screen. Without layers, when the crosshair moves over other elements of the View they ll have to be redrawn, even if they
15 1.15 Improving your JavaScript with Google Closure compiler 11 are completely static. This can be wasteful and reduce performance. An effective solution is to move the crosshair in its own layer. You can do this by adding a dummy transform: -webkit-transform: rotatex(0deg). Now when the crosshair moves over other elements, they will not be redrawn and performance will be improved. To make a layer on an element that has no effective transform, use -webkit-transform: X(0deg). Do not use the popular -webkit-transform: translatez(0px). rotate- Move to their own layers elements that tend to move over other elements on-screen and thus cause unnecessary re-paints of other elements under/over them. Each layer consumes additional GPU memory and has to be re-composited (drawn on the right place onscreen) each frame. Having too many layers can effectively reduce performance. You can use the Inspector to see what parts of the screen are redrawn each frame and where your layers are. You can visualize all layers in the page. In the Inspector click the gear (low-right) icon and check Show composited layer borders. When composited layers are enabled you ll also see a number over each layer - it shows the re-paint count of the layer. Using layers to avoid redraw is a known technique in HTML development. Additional information can be found here: Avoid re-sizing layers. When a layer is re-sized, a new texture has to be created and all the content of the layer re-drawn. It is better to have a bigger layer and move elements within it, instead of having a smaller layer that is tightly packed around some elements and gets constantly re-sized as they move. The Root layer (usually the document body with elements that are not themselves in layers) will clip any element that goes outside of it. It will always have the size of the viewport. This is not true for other layers. As they might be scaled/transformed/rotated, there is no way of knowing their final size and screen position until the final composition. These layers can have arbitrary sizes and elements that go beyond the screen will still be drawn if they are part of a layer. Developers should be careful not to position elements outside the viewport in layers that might degrade performance. Such elements should be disabled or their positions clamped Improving your JavaScript with Google Closure compiler NB: Not all JavaScript code will benefit from the Closure compiler. Google Closure compiler ( is a tool for making JavaScript download and run faster. You can use it to reduce the size of your JavaScript, check for errors and improve the overall performance of your UI. There are three optimization levels: The WHITESPACE_ONLY compilation level - removes comments from your code and also removes line breaks, unnecessary spaces, extraneous punctuation (such as parentheses and semicolons), and other white-space. The SIMPLE_OPTIMIZATIONS compilation level - performs the same white-space and comment removal as WHITESPACE_ONLY, but it also performs optimizations within expressions and functions, including renaming local variables and function parameters to shorter names. Renaming variables to shorter names makes code significantly smaller. Because the SIMPLE_OPTIMIZATIONS level renames only symbols that are local to functions, it does not interfere with the interaction between the compiled JavaScript and other JavaScript. The ADVANCED_OPTIMIZATIONS compilation level - performs the same transformations as SIMPLE_OPTI- MIZATIONS, but adds a variety of more aggressive global transformations to achieve the highest compression of all three levels. The ADVANCED_OPTIMIZATIONS level compresses JavaScript well beyond what is possible with other tools. Make sure to check the error tab as it can reveal all sorts of programming errors that are not parse errors such as: using undeclared variable, unreachable code, re-assigning constants, etc. To improve your code you can also use code quality tools such as Google Closure Linter, jslint and jshint.
16 12 Profiling and troubleshooting performance with Coherent GT 1.16 Consider asynchronous mode Coherent GT s asynchronous mode defers most calls to the library to another thread. This makes your UI is run for with almost no overhead to your main loop. You need to make sure you understand the consequences of multithreading as this can introduce race conditions. Refer to the DetailedGuides/AsyncMode section of the main docs for more details.
Coherent GT Performance Best Practices
Coherent GT Performance Best Practices 1 Contents Chapter 1 - Profiling and troubleshooting performance with Coherent GT... 2 1.1 Is an issue in the UI or the application?... 2 1.2 Asynchronous GT... 2
Silverlight for Windows Embedded Graphics and Rendering Pipeline 1
Silverlight for Windows Embedded Graphics and Rendering Pipeline 1 Silverlight for Windows Embedded Graphics and Rendering Pipeline Windows Embedded Compact 7 Technical Article Writers: David Franklin,
Simply type the id# in the search mechanism of ACS Skills Online to access the learning assets outlined below.
Programming Practices Learning assets Simply type the id# in the search mechanism of ACS Skills Online to access the learning assets outlined below. Titles Debugging: Attach the Visual Studio Debugger
Copyright 2006 TechSmith Corporation. All Rights Reserved.
TechSmith Corporation provides this manual as is, makes no representations or warranties with respect to its contents or use, and specifically disclaims any expressed or implied warranties or merchantability
Content Author's Reference and Cookbook
Sitecore CMS 6.5 Content Author's Reference and Cookbook Rev. 110621 Sitecore CMS 6.5 Content Author's Reference and Cookbook A Conceptual Overview and Practical Guide to Using Sitecore Table of Contents
Hypercosm. Studio. www.hypercosm.com
Hypercosm Studio www.hypercosm.com Hypercosm Studio Guide 3 Revision: November 2005 Copyright 2005 Hypercosm LLC All rights reserved. Hypercosm, OMAR, Hypercosm 3D Player, and Hypercosm Studio are trademarks
Flash Tutorial Part I
Flash Tutorial Part I This tutorial is intended to give you a basic overview of how you can use Flash for web-based projects; it doesn t contain extensive step-by-step instructions and is therefore not
GPU Usage. Requirements
GPU Usage Use the GPU Usage tool in the Performance and Diagnostics Hub to better understand the high-level hardware utilization of your Direct3D app. You can use it to determine whether the performance
Ulf Hermann. October 8, 2014 / Qt Developer Days 2014. The Qt Company. Using The QML Profiler. Ulf Hermann. Why? What? How To. Examples.
Using The QML The Qt Company October 8, 2014 / Qt Developer Days 2014 1/28 Outline 1 Reasons for Using a Specialized for Qt Quick 2 The QML 3 Analysing Typical Problems 4 Live of Profiling and Optimization
Firefox for Android. Reviewer s Guide. Contact us: [email protected]
Reviewer s Guide Contact us: [email protected] Table of Contents About Mozilla Firefox 1 Move at the Speed of the Web 2 Get Started 3 Mobile Browsing Upgrade 4 Get Up and Go 6 Customize On the Go 7 Privacy
Figure 3.5: Exporting SWF Files
Li kewhatyou see? Buyt hebookat t hefocalbookst or e Fl ash + Af t eref f ect s Chr i sjackson ISBN 9780240810317 Flash Video (FLV) contains only rasterized images, not vector art. FLV files can be output
TUTORIAL 4 Building a Navigation Bar with Fireworks
TUTORIAL 4 Building a Navigation Bar with Fireworks This tutorial shows you how to build a Macromedia Fireworks MX 2004 navigation bar that you can use on multiple pages of your website. A navigation bar
Chapter 19: XML. Working with XML. About XML
504 Chapter 19: XML Adobe InDesign CS3 is one of many applications that can produce and use XML. After you tag content in an InDesign file, you save and export the file as XML so that it can be repurposed
CORSAIR GAMING KEYBOARD SOFTWARE USER MANUAL
CORSAIR GAMING KEYBOARD SOFTWARE USER MANUAL TABLE OF CONTENTS CORSAIR UTILITY ENGINE OVERVIEW PROFILES 1 9 Introduction 2 Starting the Corsair Utility Engine 2 Profiles: Settings for a Specific Program
Enterprise Mobile Application Development: Native or Hybrid?
Enterprise Mobile Application Development: Native or Hybrid? Enterprise Mobile Application Development: Native or Hybrid? SevenTablets 855-285-2322 [email protected] http://www.seventablets.com
Eliminate Memory Errors and Improve Program Stability
Eliminate Memory Errors and Improve Program Stability with Intel Parallel Studio XE Can running one simple tool make a difference? Yes, in many cases. You can find errors that cause complex, intermittent
Creating Hyperlinks & Buttons InDesign CS6
Creating Hyperlinks & Buttons Adobe DPS, InDesign CS6 1 Creating Hyperlinks & Buttons InDesign CS6 Hyperlinks panel overview You can create hyperlinks so that when you export to Adobe PDF or SWF in InDesign,
Toad for Oracle 8.6 SQL Tuning
Quick User Guide for Toad for Oracle 8.6 SQL Tuning SQL Tuning Version 6.1.1 SQL Tuning definitively solves SQL bottlenecks through a unique methodology that scans code, without executing programs, to
Website Performance: Kyle Simpson
Website Performance: Kyle Simpson (Video: 0_Introduction.mp4): Introduction 00:00:0000:07:50: An introduction and a discussion about how developers need to change their mindset to think about web performance
PowerPoint 2007 Basics Website: http://etc.usf.edu/te/
Website: http://etc.usf.edu/te/ PowerPoint is the presentation program included in the Microsoft Office suite. With PowerPoint, you can create engaging presentations that can be presented in person, online,
Responsive Web Design Creative License
Responsive Web Design Creative License Level: Introduction - Advanced Duration: 16 Days Time: 9:30 AM - 4:30 PM Cost: 2197 Overview Web design today is no longer just about cross-browser compatibility.
Adobe Illustrator CS6. Illustrating Innovative Web Design
Overview In this seminar, you will learn how to create a basic graphic in Illustrator, export that image for web use, and apply it as the background for a section of a web page. You will use both Adobe
MovieClip, Button, Graphic, Motion Tween, Classic Motion Tween, Shape Tween, Motion Guide, Masking, Bone Tool, 3D Tool
1 CEIT 323 Lab Worksheet 1 MovieClip, Button, Graphic, Motion Tween, Classic Motion Tween, Shape Tween, Motion Guide, Masking, Bone Tool, 3D Tool Classic Motion Tween Classic tweens are an older way of
Issues of Hybrid Mobile Application Development with PhoneGap: a Case Study of Insurance Mobile Application
DATABASES AND INFORMATION SYSTEMS H.-M. Haav, A. Kalja and T. Robal (Eds.) Proc. of the 11th International Baltic Conference, Baltic DB&IS 2014 TUT Press, 2014 215 Issues of Hybrid Mobile Application Development
How To Write A Cq5 Authoring Manual On An Ubuntu Cq 5.2.2 (Windows) (Windows 5) (Mac) (Apple) (Amd) (Powerbook) (Html) (Web) (Font
Adobe CQ5 Authoring Basics Print Manual SFU s Content Management System SFU IT Services CMS Team ABSTRACT A summary of CQ5 Authoring Basics including: Setup and Login, CQ Interface Tour, Versioning, Uploading
Using Microsoft Word. Working With Objects
Using Microsoft Word Many Word documents will require elements that were created in programs other than Word, such as the picture to the right. Nontext elements in a document are referred to as Objects
JavaFX Session Agenda
JavaFX Session Agenda 1 Introduction RIA, JavaFX and why JavaFX 2 JavaFX Architecture and Framework 3 Getting Started with JavaFX 4 Examples for Layout, Control, FXML etc Current day users expect web user
Animator V2 for DAZ Studio. Reference Manual
Animator V2 for DAZ Studio Reference Manual 1 Overview... 3 2 Installation... 4 3 What s new in version 2... 5 4 Getting Started... 6 4.1 Features... 6 4.2 Startup... 7 5 The Timeline Control... 8 5.1
Facebook Twitter YouTube Google Plus Website Email. o Zooming and Panning. Panel. 3D commands. o Working with Canvas
WEB DESIGN COURSE COURSE COVERS: Photoshop HTML 5 CSS 3 Design Principles Usability / UI Design BOOTSTRAP 3 JAVASCRIPT JQUERY CSS Animation Optimizing of Web SYLLABUS FEATURES 2 Hours of Daily Classroom
Using Spry Widgets. In This Chapter
B2 Using Spry Widgets One foundation of Web 2.0 is widespread user interactivity enabled by extensive use of CSS and JavaScript. This allows applications that run inside a Web browser to offer the kind
How to rotoscope in Adobe After Effects
Adobe After Effects CS6 Project 6 guide How to rotoscope in Adobe After Effects Rotoscoping is an animation technique in which you draw, paint, or add other visual effects in a layer over live-action film
Working With Animation: Introduction to Flash
Working With Animation: Introduction to Flash With Adobe Flash, you can create artwork and animations that add motion and visual interest to your Web pages. Flash movies can be interactive users can click
Programming in Access VBA
PART I Programming in Access VBA In this part, you will learn all about how Visual Basic for Applications (VBA) works for Access 2010. A number of new VBA features have been incorporated into the 2010
WompMobile Technical FAQ
WompMobile Technical FAQ What are the technical benefits of WompMobile? The mobile site has the same exact URL as the desktop website. The mobile site automatically and instantly syncs with the desktop
Simple Tips to Improve Drupal Performance: No Coding Required. By Erik Webb, Senior Technical Consultant, Acquia
Simple Tips to Improve Drupal Performance: No Coding Required By Erik Webb, Senior Technical Consultant, Acquia Table of Contents Introduction................................................ 3 Types of
Printing to the Poster Printer
Printing to the Poster Printer Document size The HP Design Jet Z3100ps uses a roll of paper that is 36 wide, however it does not print all the way to the edge of the paper (known as a bleed ). One dimension
Triggers & Actions 10
Triggers & Actions 10 CHAPTER Introduction Triggers and actions are the building blocks that you can use to create interactivity and custom features. Once you understand how these building blocks work,
38 Essential Website Redesign Terms You Need to Know
38 Essential Website Redesign Terms You Need to Know Every industry has its buzzwords, and web design is no different. If your head is spinning from seemingly endless jargon, or if you re getting ready
Update logo and logo link on A Master. Update Date and Product on B Master
Cover Be sure to: Update META data Update logo and logo link on A Master Update Date and Product on B Master Web Performance Metrics 101 Contents Preface...3 Response Time...4 DNS Resolution Time... 4
Development Techniques for Native/Hybrid Tizen Apps. Presented by Kirill Kruchinkin
Development Techniques for Native/Hybrid Tizen Apps Presented by Kirill Kruchinkin Agenda Introduction and Definitions Practices Case Studies 2 Introduction & Definitions 2 App Types Browser Apps Installable
Dreamweaver and Fireworks MX Integration Brian Hogan
Dreamweaver and Fireworks MX Integration Brian Hogan This tutorial will take you through the necessary steps to create a template-based web site using Macromedia Dreamweaver and Macromedia Fireworks. The
Team Members: Christopher Copper Philip Eittreim Jeremiah Jekich Andrew Reisdorph. Client: Brian Krzys
Team Members: Christopher Copper Philip Eittreim Jeremiah Jekich Andrew Reisdorph Client: Brian Krzys June 17, 2014 Introduction Newmont Mining is a resource extraction company with a research and development
To launch the Microsoft Excel program, locate the Microsoft Excel icon, and double click.
EDIT202 Spreadsheet Lab Assignment Guidelines Getting Started 1. For this lab you will modify a sample spreadsheet file named Starter- Spreadsheet.xls which is available for download from the Spreadsheet
Using Safari to Deliver and Debug a Responsive Web Design
Media #WWDC15 Using Safari to Deliver and Debug a Responsive Web Design Session 505 Jono Wells Safari and WebKit Engineer 2015 Apple Inc. All rights reserved. Redistribution or public display not permitted
Microsoft Dynamics CRM 2013 Applications Introduction Training Material Version 2.0
Microsoft Dynamics CRM 2013 Applications Introduction Training Material Version 2.0 www.firebrandtraining.com Course content Module 0 Course Content and Plan... 4 Objectives... 4 Course Plan... 4 Course
Word Processing programs and their uses
Word Processing programs and their uses An application that provides extensive tools for creating all kinds of text based programs. They are not limited to working with text and enable you to add images
Introduction to dobe Acrobat XI Pro
Introduction to dobe Acrobat XI Pro Introduction to Adobe Acrobat XI Pro is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. To view a copy of this
NetBeans Profiler is an
NetBeans Profiler Exploring the NetBeans Profiler From Installation to a Practical Profiling Example* Gregg Sporar* NetBeans Profiler is an optional feature of the NetBeans IDE. It is a powerful tool that
S M A R T D R A W U S E R G U I D E : F u n d a m e n t a l s f o r N e w U s e r s
2016 S M A R T D R A W U S E R G U I D E : F u n d a m e n t a l s f o r N e w U s e r s TABLE OF CONTENTS Introduction... 5 Getting Started in SmartDraw... 6 Home Screen... 6 How to Search for a Template
Apple Applications > Safari 2008-10-15
Safari User Guide for Web Developers Apple Applications > Safari 2008-10-15 Apple Inc. 2008 Apple Inc. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system,
Introduction to scripting with Unity
Introduction to scripting with Unity Scripting is an essential part of Unity as it defines the behaviour of your game. This tutorial will introduce the fundamentals of scripting using Javascript. No prior
Event processing in Java: what happens when you click?
Event processing in Java: what happens when you click? Alan Dix In the HCI book chapter 8 (fig 8.5, p. 298), notification-based user interface programming is described. Java uses this paradigm and you
paragraph(s). The bottom mark is for all following lines in that paragraph. The rectangle below the marks moves both marks at the same time.
MS Word, Part 3 & 4 Office 2007 Line Numbering Sometimes it can be helpful to have every line numbered. That way, if someone else is reviewing your document they can tell you exactly which lines they have
Chapter 23: Drafting in Worksheet View
Chapter 23: Drafting in Worksheet View Worksheet View is a powerful, 2D production drafting module. Here you can find all of the drawing and editing tools needed to create fast, accurate, detailed working
CloudTest WebUI Tes0ng Tutorial
CloudTest WebUI Tes0ng Tutorial SOASTA CloudTest WebUI Testing Tutorial 2014, SOASTA, Inc. All rights reserved. The names of actual companies and products mentioned herein may be the trademarks of their
GUI and Web Programming
GUI and Web Programming CSE 403 (based on a lecture by James Fogarty) Event-based programming Sequential Programs Interacting with the user 1. Program takes control 2. Program does something 3. Program
WEB DESIGN COURSE CONTENT
WEB DESIGN COURSE CONTENT INTRODUCTION OF WEB TECHNOLOGIES Careers in Web Technologies How Websites are working Domain Types and Server About Static and Dynamic Websites Web 2.0 Standards PLANNING A BASIC
ACE: Illustrator CC Exam Guide
Adobe Training Services Exam Guide ACE: Illustrator CC Exam Guide Adobe Training Services provides this exam guide to help prepare partners, customers, and consultants who are actively seeking accreditation
Advantage of Jquery: T his file is downloaded from
What is JQuery JQuery is lightweight, client side JavaScript library file that supports all browsers. JQuery is a fast and concise JavaScript Library that simplifies HTML document traversing, event handling,
Dashcode User Guide. (Retired Document)
Dashcode User Guide (Retired Document) Contents Introduction to Dashcode User Guide 7 Who Should Read This Document? 7 Organization of This Document 7 Getting and Running Dashcode 8 Reporting Bugs 8 See
EBOX Digital Content Management System (CMS) User Guide For Site Owners & Administrators
EBOX Digital Content Management System (CMS) User Guide For Site Owners & Administrators Version 1.0 Last Updated on 15 th October 2011 Table of Contents Introduction... 3 File Manager... 5 Site Log...
Ocularis Web User Guide
Ocularis Web User Guide Contents Ocularis Web User Guide Contents LEGAL NOTICE... 3 INTRODUCTION... 4 OCULARIS MEDIA SERVER... 4 Ocularis Media Server Components... 4 Specifications... 4 Ocularis Web...
Bitrix Site Manager 4.1. User Guide
Bitrix Site Manager 4.1 User Guide 2 Contents REGISTRATION AND AUTHORISATION...3 SITE SECTIONS...5 Creating a section...6 Changing the section properties...8 SITE PAGES...9 Creating a page...10 Editing
DiskPulse DISK CHANGE MONITOR
DiskPulse DISK CHANGE MONITOR User Manual Version 7.9 Oct 2015 www.diskpulse.com [email protected] 1 1 DiskPulse Overview...3 2 DiskPulse Product Versions...5 3 Using Desktop Product Version...6 3.1 Product
Performance Optimization and Debug Tools for mobile games with PlayCanvas
Performance Optimization and Debug Tools for mobile games with PlayCanvas Jonathan Kirkham, Senior Software Engineer, ARM Will Eastcott, CEO, PlayCanvas 1 Introduction Jonathan Kirkham, ARM Worked with
Sitecore InDesign Connector 1.1
Sitecore Adaptive Print Studio Sitecore InDesign Connector 1.1 - User Manual, October 2, 2012 Sitecore InDesign Connector 1.1 User Manual Creating InDesign Documents with Sitecore CMS User Manual Page
Front-End Performance Testing and Optimization
Front-End Performance Testing and Optimization Abstract Today, web user turnaround starts from more than 3 seconds of response time. This demands performance optimization on all application levels. Client
Tips & Tricks for ArcGIS. Presented by: Jim Mallard, Crime Analysis Supervisor Arlington, Texas. 2007 IACA Conference Pasadena, Ca
Tips & Tricks for ArcGIS Presented by: Jim Mallard, Crime Analysis Supervisor Arlington, Texas 2007 IACA Conference Pasadena, Ca Table of Contents Lock & Load Labels for Maximum Speed!...2 Choose your
WEB, HYBRID, NATIVE EXPLAINED CRAIG ISAKSON. June 2013 MOBILE ENGINEERING LEAD / SOFTWARE ENGINEER
WEB, HYBRID, NATIVE EXPLAINED June 2013 CRAIG ISAKSON MOBILE ENGINEERING LEAD / SOFTWARE ENGINEER 701.235.5525 888.sundog fax: 701.235.8941 2000 44th St. S Floor 6 Fargo, ND 58103 www.sundoginteractive.com
Microsoft PowerPoint 2010 Handout
Microsoft PowerPoint 2010 Handout PowerPoint is a presentation software program that is part of the Microsoft Office package. This program helps you to enhance your oral presentation and keep the audience
User Tutorial on Changing Frame Size, Window Size, and Screen Resolution for The Original Version of The Cancer-Rates.Info/NJ Application
User Tutorial on Changing Frame Size, Window Size, and Screen Resolution for The Original Version of The Cancer-Rates.Info/NJ Application Introduction The original version of Cancer-Rates.Info/NJ, like
Introduction To Microsoft Office PowerPoint 2007. Bob Booth July 2008 AP-PPT5
Introduction To Microsoft Office PowerPoint 2007. Bob Booth July 2008 AP-PPT5 University of Sheffield Contents 1. INTRODUCTION... 3 2. GETTING STARTED... 4 2.1 STARTING POWERPOINT... 4 3. THE USER INTERFACE...
Introduction to SketchUp
Introduction to SketchUp This guide is handy to read if you need some basic knowledge to get started using SketchUp. You will see how to download and install Sketchup, and learn how to use your mouse (and
ASUS GPU Tweak User Manual
ASUS GPU Tweak User Manual Q6866 First Edition December 0 Contents I. Introduction... a. Knowing ASUS GPU Tweak... II. III. b. System requirements... c. Installing ASUS GPU Tweak... Quick start... a. Launching
Dashboard Skin Tutorial. For ETS2 HTML5 Mobile Dashboard v3.0.2
Dashboard Skin Tutorial For ETS2 HTML5 Mobile Dashboard v3.0.2 Dashboard engine overview Dashboard menu Skin file structure config.json Available telemetry properties dashboard.html dashboard.css Telemetry
ECDL. European Computer Driving Licence. Spreadsheet Software BCS ITQ Level 2. Syllabus Version 5.0
European Computer Driving Licence Spreadsheet Software BCS ITQ Level 2 Using Microsoft Excel 2010 Syllabus Version 5.0 This training, which has been approved by BCS, The Chartered Institute for IT, includes
Content Author's Reference and Cookbook
Sitecore CMS 6.2 Content Author's Reference and Cookbook Rev. 091019 Sitecore CMS 6.2 Content Author's Reference and Cookbook A Conceptual Overview and Practical Guide to Using Sitecore Table of Contents
Using HTML5 Pack for ADOBE ILLUSTRATOR CS5
Using HTML5 Pack for ADOBE ILLUSTRATOR CS5 ii Contents Chapter 1: Parameterized SVG.....................................................................................................1 Multi-screen SVG.......................................................................................................4
Debugging JavaScript and CSS Using Firebug. Harman Goei CSCI 571 1/27/13
Debugging JavaScript and CSS Using Firebug Harman Goei CSCI 571 1/27/13 Notice for Copying JavaScript Code from these Slides When copying any JavaScript code from these slides, the console might return
Responsive Web Design (RWD) Best Practices Guide Version: 2013.11.20
Responsive Web Design (RWD) Best Practices Guide Version: 2013.11.20 This document includes best practices around responsive web design (RWD) when developing hybrid applications. Details on each checklist
vcenter Orchestrator Developer's Guide
vcenter Orchestrator 4.0 EN-000129-02 You can find the most up-to-date technical documentation on the VMware Web site at: http://www.vmware.com/support/ The VMware Web site also provides the latest product
Study on Parallax Scrolling Web Page Conversion Module
Study on Parallax Scrolling Web Page Conversion Module Song-Nian Wang * and Fong-Ming Shyu Department of Multimedia Design, National Taichung University of Science and Technology [email protected], [email protected]
DWGSee Professional User Guide
DWGSee Professional User Guide DWGSee is comprehensive software for viewing, printing, marking and sharing DWG files. It is fast, powerful and easy-to-use for every expert and beginners. Starting DWGSee
Creating Interactive PDF Forms
Creating Interactive PDF Forms Using Adobe Acrobat X Pro Information Technology Services Outreach and Distance Learning Technologies Copyright 2012 KSU Department of Information Technology Services This
Algolab Photo Vector
Algolab Photo Vector Introduction: What Customers use Photo Vector for? Photo Vector (PV) is a handy tool for designers to create, cleanup, make fast corrections, edit designs with or without further conversion
Using WINK to create custom animated tutorials
Using WINK to create custom animated tutorials A great way for students and teachers alike to learn how to use new software is to see it demonstrated and to reinforce the lesson by reviewing the demonstration.
Advanced Graphics and Animations for ios Apps
Tools #WWDC14 Advanced Graphics and Animations for ios Apps Session 419 Axel Wefers ios Software Engineer Michael Ingrassia ios Software Engineer 2014 Apple Inc. All rights reserved. Redistribution or
PowerPoint Interface Menu Bars Work Area Slide and Outline View TASK PANE Drawing Tools
Microsoft PowerPoint is used for creating slide presentations to be used on a PC or even printed out as overheads and handouts. You can combine text, graphics, even audio and video to create exciting and
Improving Magento Front-End Performance
Improving Magento Front-End Performance If your Magento website consistently loads in less than two seconds, congratulations! You already have a high-performing site. But if your site is like the vast
Tutorial. Introduction to Windows Movie Maker 2.1. A Hands-on Workshop. from the Academic Technology Center. Distributed Learning Services, CIT
Tutorial Introduction to Windows Movie Maker 2.1 A Hands-on Workshop from the Academic Technology Center Distributed Learning Services, CIT Adapted with permission by Waynesburg College AAM Copyright 2005
Making a Web Page with Microsoft Publisher 2003
Making a Web Page with Microsoft Publisher 2003 The first thing to consider when making a Web page or a Web site is the architecture of the site. How many pages will you have and how will they link to
Scripting in Unity3D (vers. 4.2)
AD41700 Computer Games Prof. Fabian Winkler Fall 2013 Scripting in Unity3D (vers. 4.2) The most basic concepts of scripting in Unity 3D are very well explained in Unity s Using Scripts tutorial: http://docs.unity3d.com/documentation/manual/scripting42.html
CREATE A 3D MOVIE IN DIRECTOR
CREATE A 3D MOVIE IN DIRECTOR 2 Building Your First 3D Movie in Director Welcome to the 3D tutorial for Adobe Director. Director includes the option to create three-dimensional (3D) images, text, and animations.
SEO Overview. Introduction
Introduction This guide addresses a number of separate issues which are involved in Search Engine Optimisation (SEO) - the art of ensuring that your pages rank well in the "organic listings" [Wikipedia]
Sizmek Formats. IAB Mobile Pull. Build Guide
Sizmek Formats IAB Mobile Pull Build Guide Table of Contents Overview...3 Supported Platforms... 6 Demos/Downloads... 6 Known Issues... 6 Implementing a IAB Mobile Pull Format...6 Included Template Files...
INTRODUCTION TO DESKTOP PUBLISHING
INTRODUCTION TO DESKTOP PUBLISHING Desktop publishing uses page layout software and a personal computer to combine text, type, drawings, and images on a page to create books, newsletters, marketing brochures,
Microsoft Publisher 2010 What s New!
Microsoft Publisher 2010 What s New! INTRODUCTION Microsoft Publisher 2010 is a desktop publishing program used to create professional looking publications and communication materials for print. A new
Mobile Performance: for excellent User Experience
Mobile Performance: for excellent User Experience Suyash Joshi @suyashcjoshi Mobile UX Developer 1 A quick audience survey... 2 Overview of Presentation 1st half: Mobile Web Performance Optimization (WPO)
