前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >小兴逛Google I/O 2017(day3实况)

小兴逛Google I/O 2017(day3实况)

作者头像
小时光
发布2018-01-29 15:14:54
9920
发布2018-01-29 15:14:54
举报

作者介绍:陈志兴,Google I/O 2017大会的小时光茶社特派员 ,腾讯SNG增值产品部内容中心Android组leader,主要负责手Q个性化业务、手Q WebView等项目。喜欢阅读优秀的开源项目,听听音乐,偶尔也会打打竞技类游戏。

悄然而至

今天是Google I/O 2017开发者大会的第三天,也是本次开发者大会的最后一天。早上跟同事丁教授来到会场准备停车的时候,发现Google把停车位置从之前的大空地转到不远处的大草地上了。停好车后,我们绕了一条小路快速向会场方向走去,突然发现路边有很多开了花的树,样子非常像椰菜花。不知道是之前没关注到,还是突然开的花,有一种悄然而至的感觉,就像AI一样。

作为会议的最后一天,主题会议场次相对较少。我从早上08:30开始到下午大会结束,一共参加了7场分享,下面给大家整理今天的精彩内容。

08:30-09:30 Android meets TensorFlow

今天早上的第一场主题还是跟TensorFlow相关,主要介绍如何在Android终端上面使用TensorFlow,让Android终端本地可以具有机器学习的能力。

跟其他TensorFlow的主题类似,演讲者给大家科普了人工智能、机器学习和神经网络的一些基本概念,并介绍了目前Google旗下使用到TensorFlow的产品。

接着,介绍了TensorFlow具有可移植和可扩展性,支持在Mac/Windows、GPU、TPC等硬件上训练好模型,然后在Android、iOS等其他硬件上进行推理。

在Android终端上进行推理,意味着终端需要加载TensorFlow的二进制库和模型。目前模型和TensorFlow二进制库比较大(比如Inception V3的模型接近91Mb,TensorFlow的二进制库接近12Mb),导致TensorFlow在终端上运行存在较大的性能考验。

于是Google通过减少图像检查点、权重量化、计算量化、内存映射等方式来优化TensorFlow的加载性能,目前TensorFlow的二进制代码由12Mb减少到了1.5Mb,加载性能上也得到了不错的提升,Google还在继续优化中。

现在通过以上简单的三步,就可以在Android上使用TensorFlow了,是不是非常简单,赶紧开始你的Android TensorFlow之旅吧。

最后,Google还同步了目前在将Android NN API加到Android Framework中,并且很快会进行开源。这意味着Android终端很快会成为一个完整智能体。

09:30-10:30 Past, Present and Future of AI or Machine Learning

这个主题是一场座谈会,聚集了人工智能及机器学习领域的顶级牛人:Fei-Fei Li(Chief Scientist, Cloud AI and ML, Google)、DaphneKoller(Chief Computing Officer, Calico)、Francoise Beaufays(Principal Researcher, Google)、Fernanda Viegas(Senior Staff Researcher, Google)来讨论人工智能及机器学习的过去、现在及未来。

这块没有来得及整理,大家可以直接点击这里观看视频。我比较赞同Fei-Fei Li访谈中的一句话“机器的价值就是人的价值”,让机器为人类创建更多价值吧,AI时代已经来临。

10:30-11:30 Introduction to Kotlin

这个主题是介绍Kotlin基本语法的,跟我预期的不太一样,其实更想了解Kotlin本身的一些实现原理。

这部分演讲者直接打开Android Studio进行功能展示,Kotlin在代码简洁和安全性上来说,确实比Java优秀不少。比如在简洁方面,Kotlin支持data class,各种语法糖、缺省参数、对象扩展等,在安全方面,Kotlin支持可控类型,彻底告别空指针异常问题等。

Google一直想找一门新的语言取代Java,之前较多传闻是Apple的Swift。其实Kotlin跟Swift很像,选择Kotlin而不是Swift,我猜测跟当年从WebKit上面拉取Blink分支独立发展一样,Google在技术改革上比较激进,天马行空,而Apple相对保守,哈哈。

11:30-12:30 Designing Screen Interfaces for VR

这个主题是关于如何为VR设计清晰的屏幕界面的,主要介绍了进行屏幕虚拟化和设计VR交互的时候存在的一些坑。这个主题分享内容比较简单。

屏幕虚拟化部分主要介绍两个概念,一个是预期可视距离(Intended viewing distance)来描述物品的位置,另外一个是屏幕空间单位(Screen-space Units)来描述物品在1米距离的大小。有了这两个数据,就可以在VR中绘制物品成像了。

第二部分主要是结合经验,给出一些VR设计过程中的经验值,来创建出清晰可用的屏幕界面,来让VR使用者体验起来更舒适。

12:30-13:30 Developing High Performance Games for Android

这个主题是关于如何在Android上开发高性能游戏的,这个主题前面很正经地介绍游戏的性能问题,后面相对比较坑,在给游戏打广告。

首先介绍Android游戏开发中存在的FPS低的问题,主要原因是CPU和GPU任务执行分配不均衡导致,比如有时候GPU很忙,而CPU空闲,有时候CPU很忙,而GPU空闲。

接着介绍如何分析性能问题,比如使用Android自带的System Trace及第三方的工具。

主要介绍可以通过使用Vulkan API(一个低开销、跨平台的二维、三维图形与计算的应用程序接口)来显示控制Command Buffer的提交时机等来让CPU和GPU执行更均衡。从演示的Demo上来看,使用Vulkan确实比OpenGL流畅度上面要优秀很多。

最后就是介绍韩国的某款游戏使用Vulkan的效果,全是游戏的广告,最后才放了一下使用OpenGL和Vulkan的对比。这里我就不上图了,哈哈。

13:30-14:30 Applying Built-in Hacks of Conversation to Your Voice UI

这个主题比较有意思,演讲者举了很多例子来介绍如何为Google Assistant设计良好的会话行为,让用户体验起来更便捷。

演讲者首先介绍了一个良好的沟通原则由四大部分组成:内容真实(Truthful)、信息丰富(Informative)、有关联的(Relevant)、清晰明确的(Clear)。

接下来演讲者从正反面举例来阐述前面的四个观点,内容都非常有意思,我这里就不一一描述了。其实它不仅是Google Assistant的沟通原则,也是我们高效沟通的一个原则。大家可以去专门看一下这个视频,获得掌声也是最多的。

14:30-15:30 Cranking up performance in graphics intensive Web apps and games

这个是今天参加的最后一个主题,介绍如何优化Web应用和Web游戏的绘制性能,我感觉干货还是不错的,可惜参加的开发者比较少。

演讲者首先介绍的是Image的加载问题。我们知道,当image.onload触发的时候,只是意味者此时image数据已经可用,但是可能还没有解码,所以当第一次调用的时候,会进行image的解码,这个解码过程会导致内核线程出现卡顿。

针对这个问题,可以通过Image Bitmap来解决,直接在worker线程decode完成之后,再绑定到元素节点上面。通过这种方式解决后,图片加载时间从233ms下降到30ms,提升非常明显。

接着介绍如何让动画效果更加流畅。首先介绍内核的流水线主要包括JavaScript执行,内容布局、绘制渲染等,每一个环节都会影响到流畅度。所以要提高流畅度,就是优化每个环节的执行时间。

由于Canvas不涉及到修改DOM节点,所以可以使用Canvas方式来避免Style+Layout,从而优化掉Style+Layout的耗时。

对应绘制渲染环节,Chrome 60版本上面新增了一个新的特性:OffscreenCanvas,支持离屏渲染。

比如一个正常的页面,可以先将图片在worker线程离屏绘制好,然后再提交到真正的屏幕上,提升绘制性能。

从数据上来看,离屏渲染后,内核线程的绘制渲染的耗时提升接近10倍。

有了OffscreenCanvas后,页面其实可以做很多后台渲染的优化来提升页面绘制性能,让Web页面流畅度更加接近原生。

最后

在今天,Google I/O 2017开发者大会完美落幕了。短短的三天里,Google给我们分享了很多精彩的内容,虽然没有太多闪亮的黑科技,但都是实实在在的提升,TensorFlow更是给了我们无限想象的空间。

未来已来,悄然而至!你是否已经准备好?

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-05-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小时光茶社 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 悄然而至
  • 08:30-09:30 Android meets TensorFlow
  • 09:30-10:30 Past, Present and Future of AI or Machine Learning
  • 10:30-11:30 Introduction to Kotlin
  • 11:30-12:30 Designing Screen Interfaces for VR
  • 12:30-13:30 Developing High Performance Games for Android
  • 13:30-14:30 Applying Built-in Hacks of Conversation to Your Voice UI
  • 14:30-15:30 Cranking up performance in graphics intensive Web apps and games
  • 最后
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档