首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Android开发实战

    Android 优化

    现象又是如何产生的? 而如果在16ms内没有计算完毕的话,该就无法展示,屏幕进入下一个刷新周期,就产生了所谓的现象。 1. 监控 监控现象时,我们可以使用下方的adb命令,具体可见参考. adb shell dumpsys gfxinfo <packageName> 该命令展示的信息比较完整,如下所示。 Janky frames: 26 (4.97%) // 有26的耗时超过16ms,帧率为4.97% 50th percentile: 5ms // 50%的耗时在5ms以内 90th percentile 当然CPU Profile不仅仅用于优化,有优化的地方就有它的身影,例如启动优化等。 2.

    2.4K40编辑于 2021-12-13
  • 来自专栏小黑娃Henry

    显示撕裂、的原因以及苹果的处理方案显示撕裂、的原因以及苹果的处理方案

    显示撕裂、的原因以及苹果的处理方案 本文阅读时间大约5分钟 前言 依旧还是老规矩,提出几个问题,希望看完本文后可以完美的回答: 屏幕撕裂罪魁祸首是谁?如何解决? 问题出现的原因,如何解决? 本文钟会出现很多专用的名词,不清楚可以去我另一篇文章中查看。 OpenGL (二)--OpenGL中那些晦涩难懂的名词、动词解析 屏幕扫描->显示 ? 可以说是为了解决撕裂问题而带来的副作用,但是在我看来还可以“眨眼补”,但是撕裂的体验就会非常差了。 ? 前两步出现了两次A,那第二次出现A就是,因为B没有处理好。后面2次B也是同理。 对于问题二,就很好解释了:cpu、gpu来不及处理下一数据,导致下个显示周期只能重复显示当前的位图。 如何优化 因为处理任务的不确定性,计算机永远都无法保证在一个周期内能完成所有任务,所以问题就目前技术是无法根本解决的,只能是优化。

    2.1K10发布于 2021-08-09
  • 来自专栏量子位

    《王国之泪》严重怎么破?超频Switch教程来了,稳定30运行

    这不,就在游戏发售后,不少玩家发现它最大的问题是严重,尤其是使用“究极手”在海拉鲁搞事时,能直接掉到20。 超频内存就能稳定30 先来看看《王国之泪》有多严重。 以在游戏中开“究极手”效果为例,打开前帧率能稳定在30fps左右;然而“究极手”一开,帧率秒掉到20fps: 具体到画面上是什么效果呢? 该还是,卡顿感也依旧比较严重: 再试试超频GPU的效果,这里用的工具最高能将它从768MHz超频到900MHz: 有作用了! 感觉情况是否严重? 5月18日周四19:00,参与直播,为你解答~ 点这里关注我,记得标星哦~ 一键三连「分享」、「点赞」和「在看」 科技前沿进展日日相见 ~ 

    1.7K30编辑于 2023-05-19
  • Android性能优化:从卡顿到120Hz满的渲染优化

    Android应用卡顿的根源通常是,而的原因往往集中在布局过度绘制、主线程IO操作、频繁GC和动画计算超时这四大类。下面结合真实项目优化案例,逐项分析定位方法和解决方案。 一个复杂的列表项布局,嵌套了5层LinearLayout,渲染一个item就需要测量和布局几十次。 /></androidx.constraintlayout.widget.ConstraintLayout>优化后布局测量时间从每12ms降到了3ms,列表滑动再也没有感。 记录一段滑动操作,分析每的绘制时间,哪个方法耗时最长一目了然。不要靠猜测优化,数据会告诉你真正的瓶颈。

    18910编辑于 2026-04-19
  • 来自专栏Android源码框架分析

    Android GPU呈现模式原理及卡顿浅析

    ,而且的统计也可能不准(主要是Vsync的延时部分,有些耗时操作导致卡顿了,但是可能没有统计出) GPU呈现模式分析工具简介 Profile GPU Rendering工具的使用很简单,就是直观上看一的耗时有多长 ,绿线是16ms的阈值,超过了,可能会导致,这个跟VSYNC垂直同步信号有关系,当然,这个图表并不是绝对严谨的(后文会说原因)。 看doFrame中有一部分是统计的,个人理解也许这部分统计并不是特别靠谱,下面看下的部分。 Skiped Frame同Vsync的耗时关系 有些APM检测工具通过将Choreographer的SKIPPED_FRAME_WARNING_LIMIT设置为1,来达到检测的目的,即如下设置: image.png 以上就是scrollTo在延时前后的区别,两种其实都是的,但是日志统计的跳帧却出现了问题,而且,每一真正的耗也并不是我们看到的样子,个人觉得这可能算是工具的一个BUG,不能很精确的反应卡顿问题

    3.4K50发布于 2019-01-07
  • 来自专栏Android点滴分享

    汇编学习(5),函数,栈

    本篇介绍 本篇介绍下汇编中的函数,栈内容。 栈 对于intel处理器,在调用函数的时候需要保证rsp是16字节对齐的,这样设计是为了更好的支持SIMD。那体现到代码上是怎样呢?

    71310编辑于 2022-12-07
  • 来自专栏鲜枣课堂

    图解5G NR结构

    图4.1 OFDM符号长度计算 无线结构 虽然5GNR支持多种子载波间隔,但是不同子载波间隔配置下,无线和子的长度是相同的。无线长度为10ms,子长度为1ms。 那么不同子载波间隔配置下,无线的结构有哪些不同呢?答案是每个子中包含的时隙数不同。在正常CP情况下,每个时隙包含的符号数相同,且都为14个。 子载波间隔=15Khz(正常CP) 在这个配置中,一个子仅有1个时隙,所以无线包含10个时隙。一个时隙包 含的OFDM符号数为14。 ? 图5.1 子载波间隔=15Khz(正常CP) 子载波间隔=30Khz(正常CP) 在这个配置中,一个子有2个时隙,所以无线包含20个时隙。1个时隙包 含的OFDM符号数为14。 ? 这种概念与传统的LTE TDD子配置相类似,但是又有很多不同点: 1、在NR时隙格式中,上下行业务是以符号作为转换点(在LTE TDD中,上下行业务是以子作为转换点) 2、与LTE TDD上下行子配置相比

    2.9K11发布于 2019-07-19
  • 来自专栏全栈程序员必看

    英伟达、英特尔、AMD显卡设置,减少游戏卡顿「建议收藏」

    1、右键桌面,选择【NVIDIA控制面板】,在打开的面板中,选择左侧的【管理3D设置】。

    10.3K50编辑于 2022-08-31
  • 来自专栏TSINGSEE青犀视频

    如何确认EasyNVR拉转推视频流到EasyDSS播放出现的问题?

    那就是在播放通过EasyNVR转推来的视频时,出现了类似的播放画面。 针对问题,可以从多个方面来进行分析。 1、视频源 视频源是通过点播文件来实现的,我们测试了其他方式来处理视频的推送,发现不同的视频源通过EasyNVR推流都会出现类似于的问题。

    90020发布于 2021-05-10
  • 来自专栏Windows疑难杂症

    Windows笔记本打游戏卡顿?一招教你解决!

    前言:游戏体验频频链子,问题到底出在哪? 最近,我在使用 Windows 笔记本畅玩《原神》和《崩坏:星穹铁道》这两款大型游戏时,明显感觉游戏画面不够流畅,经常出现卡顿、的现象,严重影响了游戏体验。 在性能面板中,我观察到当前游戏的帧率在 30 到 50 之间波动,远远低于正常预期。尤其是在战斗或快速移动时,卡顿尤为明显。 这就导致了游戏运行时资源不够用,从而出现卡顿现象。通过这次经历我也深刻意识到:有时候不是硬件不行,而是系统配置“用错了地方”。

    2.1K00编辑于 2025-06-17
  • 来自专栏鸿蒙开发笔记

    HarmonyOS 开发实践——图像撕裂、等异常现象的原理以及优化方案

    :当GPU渲染速度小于屏幕刷新速度时,则屏幕将会继续绘制上一画面,这样就会导致画面(也就是卡顿)的现象。 但是双缓冲机制会导致频繁,CPU资源浪费等问题。针对频繁现象又引进了三缓冲机制,大大降低概率并提高CPU效率。 通过上述图片可以看出,双缓冲区+垂直同步会解决图像显示不全的问题,但是A图像本来应该显示一,但是由于GPU与CPU处理速度太慢导致了A的这一显示了两次,从而导致B晚一显示出来,这就导致了新问题并不是丢失图片,而是屏幕重复渲染了同一数据。 如上图所示,虽然即使每需要的时间都超出了预期,但是由于多加了一个Buffer,实现了CPU跟GPU并行,便可以做到了只在开始,后续却不掉,双缓冲充分利用16.67ms(一般60hz的刷新率,对应每隔

    71920编辑于 2024-11-06
  • 来自专栏音视频技术修炼手册

    视频里的I、P、B是什么?

    5)视频流中的PTS和DTS又是什么?什么是I、P、B?I:intra picture,内编码。 I特点:1)I是一个全压缩编码;2)解码时仅用I的数据就可重构完整图像;3)I描述了图像背景和运动主体的详情;4)I不需要参考其他画面而生成;5)I是P和B的参考(其质量直接影响到同组中以后各的质量 I或P;4)P可以是其后面P的参考,也可以是其前后的B的参考5)由于是差值传送,P的压缩比较高。 ,预测比较准确;5)B不是参考,不会造成解码错误的扩散。 IDR也是I的一种,那么IDR与普通I有何区别呢?一个IDR之后的所有都不能引用该 IDR 之前的的内容;而对于普通的I,其后的P和B可以引用该普通I之前的其他I

    3K11编辑于 2024-11-14
  • 来自专栏大前端修炼手册

    Android 自定义 View 绘制优化:从到丝滑的全链路实践

    Android 自定义 View 绘制优化:从到丝滑的全链路实践 自定义 View 是 Android 开发绕不开的话题。但很多同学写完能跑、却忘了性能。 一旦主线程超时,就会掉。 new 对象 override fun onDraw(canvas: Canvas) { val paint = Paint() // 每都 new! paint.color = Color.RED val rect = RectF( 0f, 0f, width.toFloat(), height.toFloat() ) // 也是每 new! 如果某超过 16ms,展开查看是 measure、layout 还是 draw 的锅。

    16410编辑于 2026-03-10
  • 来自专栏Visual Codex

    视频编码的三种:I,B,P

    在视频压缩编码中,所有的被分成了三个种类,I,B和P,其实就是Intra-Prediction,Bi-prediction和Prediction。 顾名思义,就是内预测,双向预测以及(单向)预测。 (inter prediction),内预测的话就是在找参照块的时候,只在当前内寻找;而间预测的话,找参照块的时候会在相邻的之间去找相似块。 因此,基于上述所说, 如果说当前是只在当前内寻找参照块的话,那么该就是I 如果在已经编码的里面寻找参照块的话,那么它是P 如果既在已编码的里去寻找参照块,又在未来将要被编码的里去寻找参照块的话 ,那么该就是B

    2.9K20发布于 2021-02-24
  • 来自专栏腾讯IMWeb前端团队

    视频中的 I ,P ,B

    由于压缩处理的方式不同,视频中的画面就分为了不同的类别,其中包括:I 、P 、B 。I 是内部编码(也称为关键),P 是前向预测(前向参考),B 是双向内插(双向参考)。 简单地讲,I 是一个完整的画面,而 P 和 B 记录的是相对于 I 的变化。如果没有 I ,P 和 B 就无法解码。 I I (Intra coded frames):I 图像采用内编码方式,即只利用了单图像内的空间相关性,而没有利用时间相关性。 由于 I 不依赖其它,所以是随机存取的入点,同时是解码的基准。 I 主要用于视频播放的初始化,I 图像的压缩倍数相对较低。I 图像是周期性出现在图像序列中的,出现频率可由编码器选择。 P 是差别,P 没有完整画面数据,只有与前一的画面差别的数据。 若 P 丢失了,则视频画面会出现花屏、马赛克等现象。

    5.2K20编辑于 2022-06-29
  • 为什么叫

    ”这个词在中文里通常是“frame”的翻译,出现在计算机网络、音视频处理、操作系统等多个技术领域。它之所以叫“”,是因为它有“一整块结构化数据”的含义,像一张照片、一张画框,代表某个完整的单位。 在网络通信中:(Frame) 是数据链路层传输的基本单位,通常包括: 头(Header):比如目标地址、源地址 数据(Payload):实际传输的内容 尾(Trailer):比如校验信息(CRC ) 为什么叫? 在音视频中: 视频(Video Frame):一张静止图像,多个连在一起就是视频。 音频(Audio Frame):一小段音频数据。 同样的原因叫“”,因为每一是一个可以单独处理、播放的完整单元。总结一句话: (Frame)是指一组结构完整、边界清晰、可以独立传输或处理的数据单位。

    71710编辑于 2025-08-26
  • 来自专栏挖数

    识破奸商这5个技俩,可以避99%冲动购物

    ---- 商家的5个伎俩 1、都是红色惹的祸 有无发现上面各种节日的广告图都是红色? 5、你自以为“聪明”的选择,是商家诱使你做出来的 还记得你去苏宁或者国美买电视时么,三种型号的三星电视都打了七折:32英寸卖499美元,40英寸卖699美元,46英寸卖899美元,售货员永远不会告诉你这三种型号的销量有多不均等

    59010发布于 2018-07-25
  • 来自专栏人人都是极客

    音频、视频及其同步

    今天介绍下音频、视频的主要参数和分析方法,以及音视频的同步等,主要内容如下: 音频 视频 PTS与DTS 音视频同步 音频 音频的概念没有视频那么清晰,几乎所有视频编码格式都可以简单的认为一就是编码后的一副图像 大小 大小指每的采样数,这个值的恒定的,具体如下: ? 3FrameLengthInBytes = 48 * BitRate / SampleRate + Padding * 4 4// Layer II & III(SampleSize = 1152) 单位:byte 5FrameLengthInBytes P :前向预测,表示与前一(I 或 P )之间的差别,需要参考前面的 I 或 P 才能生成完整的图片,相较 I 更具压缩性,节省了空间,所以 P 也成为增量。 上图中显示的顺序为: 1I1、B2、B3、B4、P5、B6、B7、B8、P9、B10、B11、B12、I13 编解码顺序为: 1I1、P5、B2、B3、B4、P9、B6、B7、B8、I13、B10、B11

    5.4K10发布于 2021-02-08
  • 来自专栏音视频技术

    Easy Tech:什么是I、P和B

    I、P和B Easy-Tech #002# 在本篇文章中,我们将学习I、P和B的工作原理以及它们的用途。 好,我们先从现代视频压缩中最基本的概念开始——内预测和间预测。 现在,看完对内预测和间预测的快速介绍,让我们来学习I、P和B吧! 什么是I? 想要理解B的作用,我们需要先理解呈现/显示顺序和解码顺序的概念。 以I和P为例。如果你只使用这两种类型的,那么每一要么参考自身(I ),要么参考前一(P )。 参考B和非参考B 我们在上文中学过,B可以参考两或者多,通常,(根据其位置)一在前,一在后。我们也已知道,I不参考任何,P只参考前面的。 那么问题来了——任何都能使用B作为它的参考吗? 答案是肯定的。 如果B可以作为参考,它就被称为参考B。 如果B不用作参考,它便被称为非参考B

    4.2K20发布于 2021-09-23
  • 来自专栏韩曙亮的移动开发专栏

    【音视频原理】视频的 I P B 概念 ① ( 码率 帧率 分辨率 视频信息 | I - 内部编码 | I - 关键压缩法 | P - 前向预测 )

    : 212kb/s , 这是 视频文件 的 视频信息 在 单位时间内的 数据流量 , 码率越大 , 单位时间内采样率越大 , 数据流精度越高 , 视频质量越高 ; 视频帧率 : 5fps , 1 秒中有 5 的信息 , 帧率越高 , 视频越流畅 ; 视频分辨率 : 1364*788 , 该视频 宽度 1364 像素 , 高度 788 像素 , 分辨率越高显示效果越好 , 占用的码率也就越高 ; 二、 ( Group of Pictures ) 的 第一 , 画面组 内 还有 P 和 B ; I 是 P 和 B 的 参考 ; I 的 质量 决定了 同组 P 和 B Frames ) " , 是 视频编码 中的一种 类型 , P 采用 前向预测编码方式 , 根据 本 ( P ) 与 相邻的 前一 ( I 或 P ) 的 不同点来压缩本帧数据 I 才能完成解码 ; P 只记录了 与 I 不同的内容 , 也就是 只有 与 I 的 差异部分 , 相同的部分没有 ; 解码 P , 必须 先解码 I ; I 解码完成后 ,

    3.1K12编辑于 2024-01-24
领券