首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

常说的手机刷新率60Hz、120Hz有什么不同?

比如让某一段逻辑执行的更快速,或降低一些迭代的频率,减轻CPU负担,抑或通过各种骚操作在不降低画面质量的情况下,减轻GPU负担。 最终的目的都是想让使用不同性能设备的玩家都可以流畅的体验游戏。...帧率(FrameRate) 帧率是GPU和CPU合作在游戏运行时,可产生的图像的数量,计量单位是帧/秒(FramePerSecond),通常是评估硬件性能与游戏体验流畅度的指标。 2....画面撕裂(ScreenTearing) 假设你的显示设备刷新率为60Hz,当帧率高过刷新率或游戏运行时的帧时间不是1/60的倍数(2/60、3/60),即其FPS不是:…/120/60/30/20/…...Android 移动平台的显示设备在很长一段时间里,都是60Hz。 我们从上文了解到,在游戏图像展示在显示屏的过程中,有一个比较影响用户体验的同步过程。...上面的动图中虽然左侧是40FPS,高于右侧的30FPS,但用户体验明显是30FPS侧更友好。 40FPS的执行时序情况如上图所示,VSYNC的最小间隔即刷新率为60Hz。

3.2K75
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    unity3d自学教程_3D技巧

    、iOS、Android等多种平台的发布,功能非常强大。...层级面板(Hierarchy):列出当前场景视图中的所有游戏对象(GameObject)。一旦游戏对象在场景视图中被添加或删除,在层级视图中也将同步更新。...纹理(Texture):物体表面呈现的线形纹路,是在材质基础上的丰富细节呈现。 贴图(Map):一种将图片信息投影到曲面的方法。...Awake:用于在游戏开始之前初始化变量或游戏状态,在脚本整个生命周期内仅被执行一次。...由于该方法调用的频率与设备性能、被渲染对象有关,导致同一游戏在不同机器的效果不一致(因为Update方法的执行时间间隔不一致)。 FixedUpdate:在固定的时间间隔执行,不受游戏帧率的影响。

    3.3K20

    【Android】打造下拉放大效果

    (其实是iOS的同学在是现功能的时候秀了一波操作) 效果大概是这样子的: 下拉放大 UI看完后 “这个效果不错啊” “要不你们Android也么做?”...下拉部分 1、在onInterceptTouchEvent中对事件进行处理,如果为下拉事件,则将该事件拦截,交给onTouchEvent处理; 2、在onTouchEvent中通过计算得到下拉的距离...重置部分 在onTouchEvent的ACTION_UP中重置Header,实现回弹 对事件分发不了解的,这边有两篇不错的文章 Android事件分发机制 详解攻略,您值得拥有 图解 Android...的处理 在onTouchEvent中的MOVE事件中获取Y轴移动的距离,动态改变头部的大小 在UP或CANCEL事件中,重置头部 @Override public boolean onTouchEvent...【黑人问号】 这个功能留着下周实现吧,我的7小时睡眠已遥遥无期~~ 虽然没有直接实现下拉刷新的功能,不过源码中已经暴露了一个下拉的监听,你也可以通过这个监听实现下拉刷新的操作 public interface

    2.4K60

    图解 Android 事件分发机制

    在Android开发中,事件分发机制是一块Android比较重要的知识体系,了解并熟悉整套的分发机制有助于更好的分析各种点击滑动失效问题,更好去扩展控件的事件功能和开发自定义控件,同时事件分发机制也是Android...Android 事件分发流 关于Android 事件分发机制网上的博文很多,但是很多都是写个Demo然后贴一下输出的Log或者拿源码分析,然后一堆的注释和说明,如果用心的去看肯定是收获不少但是确实很难把整个流程说清和记住...4、 不传给子View,事件终止往下传递,事件开始回溯,从父View的onTouchEvent开始事件从下到上回归执行每个控件的onTouchEvent------->return false; 注:...ACTION_DOWN 一样,你在执行ACTION_DOWN的时候返回了false,后面一系列其它的action就不会再得到执行了。...消费,那么事件到此为止停止传递,如果ACTION_DOWN事件是在onTouchEvent消费的,那么会把ACTION_MOVE或ACTION_UP事件传给该控件的onTouchEvent处理并结束传递

    1.3K90

    Carson带你学Android:手把手带你深入分析事件分发机制!

    ,所以注册的onTouch()不会执行,即onTouchEvent() -> performClick() -> onClick()整个链路都不会执行,所以最后不会执行ViewGroup设置的onClick...先于 onClick() 核心方法总结 主要包括:dispatchTouchEvent()、onTouchEvent() 实例分析 在本示例中,将分析两种情况: 注册Touch事件监听 且 在onTouch...总结 在本章节中,将采用大量的图表从各个角度对Android事件分发机制进行总结。...()的行为是不一样的:不再传递 & 接收该事件列的其他事件 场景2:处理事件 设View C希望处理该点击事件,即:设置View C为可点击的(Clickable) 或 复写其onTouchEvent...()中调用 但onTouch()优先于onTouchEvent执行;若手动复写在onTouch()中返回true(即 将事件消费掉),将不会再执行onTouchEvent() 注:若1个控件不可点击(

    81510

    自定义View从入门到上天

    中,便于应用内解耦; 有必要了解的核心知识点 View、SurfaceView、TextureView的区别 View: 普通的View,与宿主窗口共享同一个绘图表面,UI在主线程中绘制...因为和宿主窗口不是共享同一个绘图表面的原因,笔者在实际使用SurfaceView的过程中发现对其做动画操作会达不到想要的效果(一坨黑色); TextureView: 继承自View,与...SurfaceView相比,TextureView不会创建一个单独的绘图表面,这使得它可以像一般的View一样执行一些变换操作,比如移动、动画等等,但TextureView必须在硬件加速开启的窗口中才能正常工作...无法开启硬件加速,所以只能控制Activity和Window层面的硬件加速)。...getHistorySize 对于有涉及到触摸操作的自定义View(比如手写控件),是在onTouchEvent方法中接收触摸消息的,但限于Android系统和设备本身的情况,底层上报的点信息不一定能够实时通过

    1.2K20

    【Android 事件分发】MotionEvent.ACTION_DOWN 按下事件分发流程( Activity | ViewGroup | View )

    * 事件来源 : * 从 本类 的 dispatchTouchEvent 方法传递而来 * 事件分发 : * 返回 true, 则停止向后传递, 执行本类的...(event); } 五、事件分发示意图 ---- 网上找了两张示意图 , 参考上述源码注释理解 ; 总结 通过控制上述 7 个方法的 3 种返回值 true / false /...super , 控制整体 Activity 界面组件的事件分发 ; 事件分发规律 : ① 事件消费 : dispatchTouchEvent 或 onTouchEvent , 一旦返回 true , 则标明事件消费...dispatchTouchEvent 除外 , 其返回 true / false 都表示事件已消费 , 只有 super 时才向下传递 ; ② 向父容器传递 : dispatchTouchEvent 或...onTouchEvent , 一旦返回 false , 一律将事件传递给父容器的 onTouchEvent 方法 ; ③ 事件拦截 : onInterceptTouchEvent 返回 true , 则执行自己的

    1.7K20

    Android高级进阶之路【二】十分钟彻底弄明白 View 事件分发机制

    ,所以注册的onTouch()不会执行,即onTouchEvent() -> performClick() -> onClick()整个链路都不会执行,所以最后不会执行ViewGroup设置的onClick...总结 在本章节中,将采用大量的图表从各个角度对Android事件分发机制进行总结。...方法3:onTouchEvent() 默认执行逻辑、返回true、返回false 这三种情况的返回逻辑分别如下所示。...场景2:处理事件 设View C希望处理该点击事件,即:设置View C为可点击的(Clickable) 或 复写其onTouchEvent()返回true 最常见的:设置Button按钮来响应点击事件...View.dispatchTouchEvent()中调用 但onTouch()优先于onTouchEvent执行;若手动复写在onTouch()中返回true(即 将事件消费掉),将不会再执行onTouchEvent

    66130

    Android 事件体系全面总结+实践分析

    图中,我们可以把Activity看作是顶级父View。 ? 然后研究 Android 事件分发流程图中的4种情况: 默认情况,全部返回super,默认情况是不拦截不消费事件的。...---- 情况2:View的onTouchEvent()消费down事件,其他默认 (这里说的View是界面图里的最小的子View,不是ViewGroup1或ViewGroup2) 先分析一下,由上面的默认情况来看...然后看图中2,3,4,5分支,通过前面的Android事件分发流程图可以看出,它们可以得出同一个结论,所以它们可以看成是一种情况。 分析至此,只有情况1和情况2两种情况。...同时,为了方便查看,在log中打印出了x的值。...但是,上图中有一些文字描述,可以当作结论,主要是绿色箭头对应的两部分,描述的是各个事件最终的去向,图中的各个分支箭头,就是各种情况下的条件。 最后,文中有没考虑到的情况或不对的地方欢迎留言讨论。

    45120

    Android触摸事件_简述兴奋在突触的传递过程

    ,系统会完成,如果我们在MainActivity中将dispatchTouchEvent方法的返回值设为true,那么这里的执行结果就为true,从而不会返回执行onTouchEvent(ev),如果这里返回...下面点击button以外的部分,输出如下图中的第二个矩形,和之前没有button一样。...由于onTouchEvent在View.java中的源码比较长,这里贴重点,通过源码阅读,在ACTION_UP的处理分支中可以看到一个performClick()方法,从这个方法的源码中可以看到执行了哪些操作...分支里可以看到执行了li.mOnClickListener.onClick(this);这句代码,这里就执行了CustomButton实现的onClick方法,onClick是在onTouchEvent...onTouch事件要先于onClick事件执行,onTouch在事件分发方法dispatchTouchEvent中调用,而onClick在事件处理方法onTouchEvent中被调用,onTouchEvent

    71720

    【Android 性能优化】布局渲染优化 ( CPU 与 GPU 架构分析 | 安卓布局显示流程 | 视觉与帧率分析 | 渲染超时卡顿分析 | 渲染过程与优化 )

    CPU 在图形处理领域的情况 ---- GPU 出现前 CPU 在图形处理领域的情况 : ① 承担工作多 : GPU 没有出现之前 , CPU 要承担很多工作 , 如逻辑运算 , 内存管理 , 显示控制...( 黄色部分 ) : 控制器 , 控制 CPU 运行工作 , 执行如 取出指令操作 , 控制其它模块运行 ; ② 计算单元 ( 绿色部分 ) : 算术逻辑单元 , 负责数学运算 , 逻辑运算 ; ③..., 应用运行 ; 三、 Android 布局显示到屏幕流程 ---- Android 布局显示到屏幕流程 : ① 定义布局中的组件 : 在 xml 布局文件中定义 ImageView 布局 ; ② 加载组件到内存...Android 刷新帧率 : ① 最低流畅帧率 : 保持画面流畅的最低帧率是 60FPS , 当帧率低于 60 FPS 时 , 就会画面卡顿的感觉 ; ② 60 帧率对应的每一帧刷新间隔 : \dfrac...; ③ 30 FPS : 早期的电子游戏 , 要求高于电影 ; 上面的三种都是人与视频内容不交互 , 或少量交互 , 人感觉不出来卡顿 ; ④ 60 FPS : 在交互频繁的游戏中 , 低于 60 FPS

    4.1K21

    用两张图告诉你,为什么你的App会卡顿?

    这一点是我没有在图中反映的。 WindowManager是在Activity执行attach()时被创建的,attach()方法是在onCreate()之前被调用的。...同时,上面这个方法在整个Android的视图框架流程中十分的重要。我们知道,在Activity执行onResume()后界面就要开始渲染了。...FrameRate帧率是每秒绘制的帧数。通常只要帧数和刷新率保持一致,就能够看到流畅的画面。在Android平台,我们应该尽量维持60FPS的帧率。...在Android中,同样使用Vsync垂直同步来提高显示性能。它能够使帧率FrameRate和硬件的RefreshRate刷新强制保持一致。...Android绘制图形是通过图形库Skia(主要针对2D)或OpenGL(主要针对3D)进行。图形库是个什么概念?

    2.2K91

    android视频系列:视频解码篇--android上视频播放的实现

    在暂留时间结束前,放入下一张图,人就感觉不出来是一张张的图,而是连续的动画了。在移动终端上观看的视频,每秒25帧图像,就很流畅了。一秒钟放的图像数,被称为帧率。...我们来看看,Android为我们提供了哪些对象,可以让我们做视频的播放。 Android播放视频 下面我们介绍3种在Android上播放视频的方法。 1. 使用VideoView播放视频 ?...在解码方面,它支持常用的解码控制操作,如start(), pause(), resume(), seek(), seekTo()等。...Android系统,已经在底层我们打通了一条MediaPlayer到SurfaceView的数据通路,那就是Surface。...如手机从睡眠状态唤醒,会lost EGL context,此时onSurfaceCreated()方法会被调用。

    4.1K131

    Android下的Touch事件分发详解

    在 Android 系统中,触摸事件的分发和处理是一个非常重要的部分。了解触摸事件的分发机制对于我们进行界面交互设计和优化具有重要意义。...这两种方式共同构成了 Android 事件传递的完整过程,用于处理 Touch 事件在视图层次结构中的传递和消费。...整个事件传递过程可以概括为:首先通过隧道方式自上而下地传递事件,然后在未被消费的情况下通过冒泡方式自下而上地回传事件。这种机制允许开发者在不同层次的视图中灵活地处理事件,实现复杂的交互效果。...同时,这种机制也有助于提高事件处理的效率,因为在事件被拦截或消费后,事件将不再继续传递或回传,从而减少了不必要的计算开销。 3.2 时序图 时序图描述了 Touch 事件在视图层次结构中的传递过程。...3.3 简化实现 在 Android 中,Touch 事件的传递涉及到三个关键的方法:dispatchTouchEvent、onInterceptTouchEvent和onTouchEvent。

    35310

    可能是讲解Android事件分发最好的文章

    所以我决定将它翻译出来,造福广大Android开发者。...我就遇到过这样的时候,当时我很想有一篇文章能简单地解释触摸事件是怎样在视图层次(view hierarchy)中传播的,从而可以将之作为进一步深入学习的起点。...因为C说它正在处理这个手势(gesture),所以“手势剩余部分”的事件也将传递给C的onTouchEvent方法,此时该方法返回true或false都无关紧要了,但是为保持一致最好还是返回true。...假如DOWN事件传给C的onTouchEvent方法时,它返回了false,DOWN事件会继续向上传递给B和A的onTouchEvent,即使它们在onInterceptTouchEvent方法中说它们不想拦截这个...但是当用户手指移动了一定的距离后,就不能再视该手势(gesture)为点击了——很明显,用户是想scroll。这就是为什么B要接管该手势(gesture)。

    62520

    测试人员进阶,直播类产品的音视频质量测试攻略分享!

    4.网络传输 在网络传输中,会针对不同的网络环境选取UDP或TCP传输,在即时音视频通话上一般优先采用UDP,因为其可自由度、延时都较好;除外还会针对传输过程中存在的损耗进行处理,包括控制包大小、FEC...°,以确保卡片表面不会有阴影产生; 2.使用荧光灯(D65/CWF/SP35)进行测试前,至少预热光源15 分钟; 3.测量反射性卡片表面的9 个点的照度和色温,以确保灯光一致性,调节被测手机位置,使其拍摄位置居中...竞品数据 竞品主播手机平台帧率竞品AIOS Android竞品BIOS Android竞品CIOS Android 4....卡顿次数 标准 正常网络要求: 弱网络要求: 测试方法 地球仪(IOS)或自动化测试工具(Android) 影响因素 在网络正常无损伤的情况下,帧率主要受视频影响,视频码率越大则会编码高帧率和高分辨率的视频码流...5.视频质量稳定性 在各种损伤变化场景下,直播3小时内未出现花屏、黑屏、自动中断等现象 测试方法 1.损伤自动化测试,并使用软件会声会影进行录制; 2.查看录制的视频是否有花屏、黑屏或异常中断等现象。

    2.6K21

    Android Scroll分析

    在Android中,将屏幕最左上角的顶点作为Android坐标系的原点,从这个点向右是X轴的正方向,从这个点向下是Y轴的正方向。 ?...---- 视图坐标系 Android还有一个视图坐标系,它描述的是子视图在父视图中的位置关系。 和上面的Android坐标系相辅相成。...同样,可以通过修改View的 left top right bottom四个属性来控制View的坐标。 在每次回调onTouchEvent方法的时候,我们都来获取一下触摸点的坐标。...坐标系 绝对坐标来计算偏移量,并移动View * 使用绝对坐标系,在每次执行完ACTION_MOVE的逻辑后一定要重新设置初始坐标, * 这样才能准确的获取到偏移量 * @...总体来讲,scrollTo scrollBy方法,子View的移动都是瞬间的,在事件执行的时候平移已经完成了,而Scroller类可以实现平滑移动的效果,而不是在瞬间完成的移动。

    81520

    札记:android手势识别,MotionEvent

    前者比较方便,后者在自定义View时根据需要去重写,而且CustomView也可以根据需要定义自己的处理器方法,或提供监听接口。...中执行了回调方法后,就不再执行View中的处理器方法boolean onTouchEvent(MotionEvent event)。...两者在交互上截然不同,触摸模式的状态维护贯穿了整个系统,包括所有的Window和Activity对象(主要就是触摸事件的分发的控制),通过View类的public boolean isInTouchMode...另一方面,作为其它View的parent,它必须对childViews执行layout,并且有控制MotionEvent传递给目标childView的方法onInterceptTouchEvent()。...该方法在donw事件返回false,后续所有事件,先传递到该方法,然后是给对应目标childView:的onTouchEvent()或onInterceptTouchEvent()方法——和当前ViewGroup

    5.2K70
    领券