{"__v":5,"_id":"570fba9a79b8941900547542","category":{"__v":20,"_id":"55d535cc988e130d000b3f60","pages":["55d535cc988e130d000b3f62","55d537895082980d0009c96b","55d53799988e130d000b3f69","55da9b95a955100d00def951","55dca4a0c755b63700dc844d","55e75dfbe06f4b190080dc05","55e765a259f5ed21004f5553","55e769680063b235002c6dc9","55e7697e2942b837005467ac","55e76998e06f4b190080dc38","55e769ad0063b235002c6dcd","56947a6e3e9d080d00f065c3","56947f893e9d080d00f065ca","5695a7a977ba0d2300cf3930","5695b5360c650a2300250690","5695b92b77ba0d2300cf3942","5695bc9ecb14e11700f8a8bd","5695dfe6fe18811700c9c15b","5695e442dcaf0d1700cb879f","569d301667331a0d0028056b"],"project":"55d535ca988e130d000b3f5c","version":"55d535cb988e130d000b3f5f","sync":{"url":"","isSync":false},"reference":false,"createdAt":"2015-08-20T02:05:00.107Z","from_sync":false,"order":1,"slug":"quick-start-for-end-users","title":"End User Guide"},"parentDoc":null,"project":"55d535ca988e130d000b3f5c","user":"55d560fb4fe64521006d5a97","version":{"__v":12,"_id":"55d535cb988e130d000b3f5f","hasDoc":true,"hasReference":false,"project":"55d535ca988e130d000b3f5c","createdAt":"2015-08-20T02:04:59.052Z","releaseDate":"2015-08-20T02:04:59.052Z","categories":["55d535cc988e130d000b3f60","55d6b238d2a8eb1900109eef","55d6b4f3250d7d0d004274cd","55d7967960fc730d00fc2852","55da9804e835f20d009fc5d0","55e75b1de06f4b190080dbfd","55e75b39e06f4b190080dbfe","55e75b7ae06f4b190080dbff","564f5a4e33082f0d001bb709","570fb64aa38d470e0060cbff","586d0dd89a854123001acd65","586d0e3b9a854123001acd66"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"","version_clean":"1.0.0","version":"1.0"},"updates":[],"next":{"pages":[],"description":""},"createdAt":"2016-04-14T15:43:22.130Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":8,"body":"Frame uses a number of modern technologies to provide you with the best plugin-less experience in your web browser. To see how fast your system is performing, you can turn on advanced statistics by:\n\n###1. Show basic session stats\nGo to the gear menu (bottom left corner while in an app session) and click \"Show/hide stats\":\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/80f95ff-Screenshot_2016-09-29_14.15.18.png\",\n        \"Screenshot 2016-09-29 14.15.18.png\",\n        239,\n        275,\n        \"#252626\"\n      ]\n    }\n  ]\n}\n[/block]\nYou'll now see additional statistics in the status bar at the bottom of your screen (realtime bitrate and frames per second):\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/bb6bf63-Screenshot_2016-09-29_14.20.30.png\",\n        \"Screenshot 2016-09-29 14.20.30.png\",\n        552,\n        39,\n        \"#3a3a3a\"\n      ]\n    }\n  ]\n}\n[/block]\n###2. Show advanced session stats\nNow you can click on the basic session stats area to pull up an even more detailed set of statistics in a transparent box at the bottom right corner of your session: \n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/d679f03-Screenshot_2016-09-29_14.23.02.png\",\n        \"Screenshot 2016-09-29 14.23.02.png\",\n        185,\n        353,\n        \"#202020\"\n      ]\n    }\n  ]\n}\n[/block]\nThe most important factor affecting your experience is called \"video decode time.\" It tells you how fast your client (e.g. your local device) can decode incoming frames from a Frame server. For the best performance, this number should be well below 50 ms, and, in many cases, it will be below 10 ms (on most modern browser/device combos). \n\nWhile Frame applications run on virtually any combination of browser, OS, and device, some perform better than others. Here's a quick rundown that you can use to compare it to the performance on your system:\n\n  * **Chrome**: when possible, we use hardware acceleration called PNaCL (this is Google's proprietary technology). Expected decode time per frame on a mid-range PC, Mac, or Chromebook is <10 ms. On a faster machine (e.g., high-end PC or MacBook Pro), the decoding time per frame can drop to < 2ms. When PNaCL is not available (e.g., on AndroidOS), we fall back to pure JavaScript decoding, which is still very fast in Chrome. \n  \n  * **Firefox**: Frame takes advantage of Firefox's support for asm.js, an optimizable, low-level subset of JavaScript. Video decode times per frame are in the 5-10 ms range on most modern desktop/laptop platforms (PCs, Macs). Decoding performance is great on a large range of devices -- most computers sold in the last 5-6 years should have no problem running apps on Frame with great performance.  \n  \n  * **Safari**: While there's no equivalent of Google's PNaCL or Firefox's asm.js, Apple's javascript engine is very fast. Expected video decoding time is <10ms on a MacBook Air and < 5ms on MacBook Pro. \n  \n  * **Internet Explorer 11 and Edge**: Native JavaScript performance in Internet Explorer 11 and Edge (for the purpose of decoding an incoming Frame stream) is OK, but lags other mainstream browsers, especially on underpowered devices. If you see video decode times in excess of 100 ms per frame, the Frame Protocol will adjust the frame rate, which might be reported as an increased network latency as well (as some frames are dropped during the adjustment).","excerpt":"","slug":"understanding-web-terminal-performance","type":"basic","title":"Understanding session performance"}

Understanding session performance


Frame uses a number of modern technologies to provide you with the best plugin-less experience in your web browser. To see how fast your system is performing, you can turn on advanced statistics by: ###1. Show basic session stats Go to the gear menu (bottom left corner while in an app session) and click "Show/hide stats": [block:image] { "images": [ { "image": [ "https://files.readme.io/80f95ff-Screenshot_2016-09-29_14.15.18.png", "Screenshot 2016-09-29 14.15.18.png", 239, 275, "#252626" ] } ] } [/block] You'll now see additional statistics in the status bar at the bottom of your screen (realtime bitrate and frames per second): [block:image] { "images": [ { "image": [ "https://files.readme.io/bb6bf63-Screenshot_2016-09-29_14.20.30.png", "Screenshot 2016-09-29 14.20.30.png", 552, 39, "#3a3a3a" ] } ] } [/block] ###2. Show advanced session stats Now you can click on the basic session stats area to pull up an even more detailed set of statistics in a transparent box at the bottom right corner of your session: [block:image] { "images": [ { "image": [ "https://files.readme.io/d679f03-Screenshot_2016-09-29_14.23.02.png", "Screenshot 2016-09-29 14.23.02.png", 185, 353, "#202020" ] } ] } [/block] The most important factor affecting your experience is called "video decode time." It tells you how fast your client (e.g. your local device) can decode incoming frames from a Frame server. For the best performance, this number should be well below 50 ms, and, in many cases, it will be below 10 ms (on most modern browser/device combos). While Frame applications run on virtually any combination of browser, OS, and device, some perform better than others. Here's a quick rundown that you can use to compare it to the performance on your system: * **Chrome**: when possible, we use hardware acceleration called PNaCL (this is Google's proprietary technology). Expected decode time per frame on a mid-range PC, Mac, or Chromebook is <10 ms. On a faster machine (e.g., high-end PC or MacBook Pro), the decoding time per frame can drop to < 2ms. When PNaCL is not available (e.g., on AndroidOS), we fall back to pure JavaScript decoding, which is still very fast in Chrome. * **Firefox**: Frame takes advantage of Firefox's support for asm.js, an optimizable, low-level subset of JavaScript. Video decode times per frame are in the 5-10 ms range on most modern desktop/laptop platforms (PCs, Macs). Decoding performance is great on a large range of devices -- most computers sold in the last 5-6 years should have no problem running apps on Frame with great performance. * **Safari**: While there's no equivalent of Google's PNaCL or Firefox's asm.js, Apple's javascript engine is very fast. Expected video decoding time is <10ms on a MacBook Air and < 5ms on MacBook Pro. * **Internet Explorer 11 and Edge**: Native JavaScript performance in Internet Explorer 11 and Edge (for the purpose of decoding an incoming Frame stream) is OK, but lags other mainstream browsers, especially on underpowered devices. If you see video decode times in excess of 100 ms per frame, the Frame Protocol will adjust the frame rate, which might be reported as an increased network latency as well (as some frames are dropped during the adjustment).