粉丝61获赞353

用过 uni a p p 的 应该知道,在做 a p p 本地开发的时候,滚动是有一个独立的组建的,不像浏览器默认情况下给 diy 设置一个宽高就会自动出现滚动条。所以呢,这个呢,我就想到了 overfloor。 设置 hide 是 不是会提升性能? 要理解 overflow hide 对 性能的影响,就是需要结合浏览器的渲染流水线布局绘制到合成,然后和该属性的核心行为 裁剪溢出内容,然后建立 bfc 这两个进行分析。 其实其性能提升是场景化的,并非所有情况都有效,甚至可能产生副作用。第一点, 先明确 oeflowhide 的 核心行为,设置 oeflowhide 后,元素会产生两个关键效果, 第一个效果,裁剪溢出内容,超出元素边界的紫元素或者内容会被完全隐藏,且无法通过滚动查看。第二个效果,建立快捷格式化上下文,也就是我们常说的 bfc。 b f c 是 一个独立的布局环境,内部元素的布局变化不会影响到外部,外部的变化也不会穿透到内部。这两个行为是影响核心的啊,不对,是影响性能的核心。 我们结合渲染流水线逐一拆解一下,然后说一下。第二点, overflow head 带来性能提升的场景。 性能提升主要体现在布局和绘质这两个阶段,这是浏览器性能开销的核心环节。第一个, 减少绘质开销就是最核心的收益了。浏览器的绘质阶段是将元素的视觉属性,也就是颜色、纹理、形状转化为屏幕像素的过程,那绘质区域越大,内容越复杂, cpu 或者是 gpu 的 开销也就越高。 呃,没有 overflow hide 时,或者说是默认情况下,即使元素内容溢出, 即使就是即使元素的内容溢出且被其他元素遮挡,浏览器仍可能会会 置溢出的部分,因为浏览器的可见性判断不是非常绝对精确的,尤其是动态内容,或者是在复杂的 dom 情况下。 例如一个 diy 里面有一百张一出的图片,浏览器呢就会绘制这些图片的全部像素,就哪怕超出部分看不到,它也会绘制。 那有 overflow head 的 时候,浏览器明确知道只需绘制元素, 然后这个边界内的区域,对吧?溢出部分就会被裁剪,且完全就跳过会制的,直接减少会制的像数量和会制次数。那这个收益的场景就是元素包含大量溢出内容,比如长文本,多图片、 动画元素、复杂 svg, 尤其是在移动端的时候。 gpu, 这这这,它的 gpu 线资源有限嘛,那这个绘制的开销就会降,这个它的开销就是降低的,效果就很显著了。 那第二个就是隔离布局上下文,减少回流范围。回流是浏览器重新计算元素位置大小的过程, 回流会延沿着段落向上传播,比如指元素的尺寸变化,就会传到副元素,然后继续传到主副元素一直往上传,那 范围越大呢,开销就越高。但是你 overflow hide 建立的是 bfc 布局隔离墙嘛?那你 bfc 内部的布局变化,如紫元素宽高,修改、新增或者是删除紫元素,就仅触发 bfc 内部的回流,不会扩散到外部的 dom 外部的动变化也不会影响到 bfc 内部,对吧?这个收音的场景呢,就是需要隔离布局的场景,如只元素浮动导致副元素高度塌陷,避免 marking 折叠。那此时呢, overflow head 既能解决布局的问题,又减少回流范围,是可以提升性能的。 第三个,消除滚动相关的额外开销。若元素内容有溢出,浏览器会默认维护一个滚动状态,它会去计算滚动偏移,渲染滚动条,监听滚动事件。 呃,这里呢,就是即使我们没有绑定事件啊,浏览器也会做一个基础监听,然后在移动端的话,它会处理 这个触摸滚动的惯性回弹等行为。但是你设置的 oeflow 嗨登以后呢,滚动被禁用了,浏览器就不会维护上面的这些状态,就减少了布局计算和事件监听的开销。然后第三点,无性能提升甚至有副作用的场景, oeflow 嗨登呢,并不是万能优化的项,就以下场景中,它是没有收收益的,甚至会拖慢性能。 第一个就是元素内容易出使,若元素的紫元素或者是内容完全在边界内, overflow head 不 会改变灰质区域,也不会触发 bfc 的 布局隔离,因为无内部布局变化。这个时候呢,性能与默认是完全一致的, 而且反而增加了样式解析的微小开销,可忽略,但是没有收益,还可能会埋下布局的隐患,就是说,比如你后续内容一出时,就被意外的裁剪掉了。那第二个就是 不必要的, bfc 布局导致异常, bfc 会改变默认布局行为,如竹子 mark 折叠,包括浮动元素, 若仅为优化性能,盲目设置 oefo 等,可能导致布局不符合预期,如 markin 失效, 需要额外写样式修复,反而增加布局计算的复杂度。若强制调整适配 bfc, 可能触发更多回流,这个时候就得不偿失的。那第二个第三个就是以硬件加速冲突导致合成城回退, 就是你通过设置 transform, 然后去设置那个 translate z 零,就是这种方式去开启硬件加速,将元素放入 gpu 合成成, 提升动画流畅度。但部分浏览器如谷歌的渲染策略是带 offload 等元素,若开启硬件加速,可能被强制退出 gpu 合成成回退到 cpu 软件绘制,反而增加绘制开销。 那例子就是这个 overflow hide 和开启硬件加速呢?不能同时设置,不然的话会导致动画卡顿。 然后第四个就是裁剪可交互元素产生无效会制,若一出内容包含可交互元素,如按钮链接, overflow hide 会裁剪这些元素,但浏览器仍会为这些不可见的交互元素计算布局绘制其像素,然后以及监听其事件。 那这个时候呢,就是没有性能收益,还产生了无效绘制和事件监听,这样呢,就同时降低可访问性嘛,用户看不到也点不到这些元素的。 然后是第四点,底层逻辑叫结合渲染流水线总结,浏览器渲染流程是解析 dom 和 css o m, 然后生成渲染素在布局绘制合成,对吧? 那布局阶段设置 overflow hide 的 影响就是建立 bfc 隔离回流范围,适合场景就是内部布局频繁变化的元素 啊。会制阶段设置 overflow hide 的 影响就是裁剪溢出内容,减少会制区域,适合场景就是有大量溢出内容的元素, 那合成阶段的 overflow, high end 的 影响就是其实没有直接的影响,就是可能会有硬件加速的冲突,这个四个场景没有,就是要避免这个硬件冲突就可以了 啊。第五点就是,嗯,实践的建议吧,就什么时候用和什么时候不用吧。那推荐使用的场景就是一就是元素有大量的易出内容,长文本读图片,动态动画,需减少绘图开销的。 然后第二个就是需要隔离布局上下纹,如解决浮动塌陷, marking 折叠,同时利用 bfc 减少回流。第三个就是禁用元素滚动,如那个弹窗的遮造成啊,消除滚动相关开销。 然后是不推荐使用的场景,嗯,元素内容呢?没有溢出,仅为优化性能,盲目设置,这个是不建议的。那第二个就是结合 transform 等硬件加速属性的时候,这个当然就是要需要先测试一下浏览器的表现了 啊。第三个就是溢出内容包含关键可交互元素的,对吧啊,最后总结一下就是 oeflowhide 能提升性能的核心是溢出减,不是裁剪溢出减少会制和 bfc 隔离,减少回流, 但是就是仅在内容溢出和需要布局隔离的场景下面有效,若内容无溢出或者是滥用,不仅没有收益,还可能导致布局异常,硬件加速冲突等问题啊,实际开发中还是按需设置。

讲讲你们这个性能测试是怎么做的呢?性能测试我们是在五功能测试完成之后,然后上线准出,两个月之前我们会进行性能测试啊,我们首先会编辑测试计划嘛,看你的时间人员涉及到的页面,而且每个页面里边的接口, 然后搭建性能,然后搭建性能环境,然后开始编写性能脚本,然后我们会分析,就是你这个用力,就是你这个接口,你是你是高频,高频发还是高频率的话,你可以使用同步计时器嘛?如果高频率的话可以使用常数计时器, 如果你的单机性能不够的话,你可以使用分布式,但其实我们这块因为我们是个图 b 产品嘛,所以说这还这个还不需要使用分布式。然后我们会统计它的性能测试数据,比如说它的呃响应时平均响应时间, 它的错误率,它的内存 cpu 占有率,因为在会儿他们是因为这些指标是定死的嘛,就是一个是两块,一个是你的前端页面响应时间不能超过三秒,嗯,另一个是你的单接口响应时间不能超过二十五二百五十毫秒,所以相当于我们前端和后端我们都会要进行测,然后输出测试数据。对不符合要求的接口就是重新进行性能调优 qq 之后进行重新测试,通过之后的话就可以输入测试报告,然后拿着这一部分测试报告去统一去进行评审,挺好的,还挺规范啊, ok, ok, 你 说一下常见的一些性能指标呢?就比如说就是平均响应时间,测无率 cpu 使用率,然后 tps 内存占用内存,内存使用率基本上主要就这几个 好,嗯,那你们的性能测试的环境是如何去配置的呢?这个是开发去搭建的。那你知道你们的配置吗?配置基本上就是八核,因为我们要和客户环境保持一致吗?这台服务器呢? 呃,服务器,这个用的是总的,总的服务器,总的一套的服务器。这个不是说使用我们本地服务器啊。我知道,我说就是你们就总的一台还是几台,你们就没有分这个没有做分布式是吧?对,他没做分布式啊。啊,了解了解, ok。 有没有遇到过在做压测的过程当中这个 tps 上不去的情况? tps 上不去,这个遇到过,首先我会看一个,就是 tps 上不去,你会看我先看你的内存使用情况,嗯,如果说你的内存内存比较高,但这时候你的,哎, tps 响应时间,对 tps, tps 对 tps 响应时间,我能按照一个不?啊?你说你说 假如,首先我会看 tps, 如果说我看内存的使用率嘛?嗯,如果说我的内存使用率我很高,但是我的 tps 也也是正常的话,那这个我觉得属于 tps 占用也比较高的话,我觉得这个属于一个正常情况嘛。嗯,相当于你记得你的内存内存资源已经限制到了,相当于达到一个瓶颈了,这时候你想再往让 tps 上去, 那就加内存吧。如果说你的 tps 呃,比较低,说明是不是你的内存资源在它在这限制你,这时候你可以看, 你可以监控。呃, mac 口的。呃,数据库连接池,嗯,如果说我的连接池已经达到一个最大值的话,就是说你可以增加数据库的连接池吗? 嗯,如果这时候连接池也没有问题,你可以开启慢查询,你看有没有超时的 sql 语句,如果说我没有的话,说明和 sql 语句没有问题,那就是你的后端代码逻辑,你可以优化代码逻辑。呃,要么增加对待机制是吧?要么优化内存资源释放, 如果说存在呃,曼,如果存在曼查群的搜索语句的话,那首先咱们可以使用 x x 半关键字来,你来查一下这个搜索语句,看他有没有使用锁影,或者说他使用锁影了,咱们可以使用前置锁影优化,因为毕竟你锁影本身也会占资源嘛,对吧?我可以使用前置锁影优化,把它资源占的更少一点。 呃,另外一点还可以使用搜索语句优化,因为比如说因为左模糊的话,他会对锁影, 他会直接就是相当于就是忽略锁瘾。要么你还可以使用避免使用 c 叉克星嘛,因为你毕竟像那些新开发的话,他们对这些就是规范,他没有说那么严格,他们很喜欢使用 c 叉克星,直接就去查。嗯,你还可以使用先分组再过滤, 然后使用 unity 代替 unity, 然后避免使,然后使用呃。注恩,使用注恩代替自查询,然后要么就是还可以,还可以从数据库结构去优化,但是其实这块比较困难,因为数据库就是相对于我们是在定需求的时候就已经会把数据库结构给它,就给它定好了,基本上不会轻易不会改的。 然后最后一条就是还要去看,因为我们会引用很多外部的系统嘛,外部产品,你看看我们这块跑的比较慢,是不是因为外部产品的影响,基本上就是这几块。嗯,好好好,挺细的,挺详细的。 哎,其实还有一块,一个是 my circle, 其实还有人,还有 radius, 其实你 radius 可也可以进行调优,就比如说你的 radius, 如果说存在缓冲器穿,就相当于你 radius, 我 没有这个数据,但他还是要来查 radius, 然后再去查 my circle, 其实这是有个资源浪费的,其实这时候可以使用,呃,不能过滤器, 还有一个就是缓存揭穿,在某一时刻,假如我这我这一个热点的 key 它过期了,这时候就会大量的请求,就是会直接在去 maker 口中去找找数据,这时候其实你可以要么就把这个热点数据,你可以给它设置成永不过期啊,对吧?可是让它一直存在,还可以使用护车锁, 呃,大概是,大概是这些。好好好,挺好的。 ok, 挺好的, 好,那新的测试就没什么再问的了, ok, 哎,那你们还要做安全测试吗?安全是怎么做的?其实我们安全测试最开始根本就不是我们做,其实是直接外包给外部的白金团队吗?花点钱让人家去做啊,然后我们第一个产品, 结果到我们这个产品的时候直接直接不做了,然后就领导直接把我给他报上去,当时其实我也不会,我也是现学的啊,我说那行,那我们那那做就做呗, 我按压他,这其实是不会做特别多,基本上都是准出大,准出前我们会做一次啊,基本上我会做一些,他会输入,然后查一次攻击,还有文件上传,文件上传,还有绘画管理,呃,还有账号,账号安全, 就比如说账号安全的话,比如说我们登录,登录页面,如果说你输入三个,输入三次,呃,就是你的密码错误,其实这时候你应该把这个锁死,就不让他输入了,就算他在三分钟之内他输入一个正确的,呃正确的密码,也也应该不让他输入。 然后比如说绘画管理,比如说我这个,呃,我正在登录这个装,我正在登录这个用户,他的头根过期了,或者说他的密码被修改了。首先那你是不是这个页面应该刷新那个,应该不让他再进行继续的操作?然后比如说文件上传,你应该限制文件的大小吧,包括文件的格式吧,因为你不能你什么文件都可以上传进去, 还可以写一些叉 s 的 攻击,因为比如说我们我会对每一个输入框查询框啊,新增框会写一些,自己会写一些 play, 呃, play y 的 一些脚本,一些 ar, 一 些 g s 的 脚本,看它会不会执行,如果说它执行了,并且出现弹框,那么就存在叉 s 的 攻击。还有个就是三个输入, 比如我在登录的页面里边我只写了一个账号,页面里面我写了一个,比如常用的一,哦一等于一,刚刚他如果登录他如他如果登,登录进去了,说明这个是存在自我注入的。嗯,其实我对这块叉 s 叉 s 攻击其实有一点思考的, 嗯,因为叉 s 攻击它涉及到很多弹框嘛,对吧?咱们知道对,那么多弹框,我去,我对每一个弹框进行攻击测试,其实这不现实,对不对?对,你能有多长时间?这完全是可以,也可以把这部分这一部分 工作给它实现自动化,因为你说它和 u i 输入其实大差不差呀,对吧?你只需要把你输的内容换成你的 g s 内容就可以实现安全测试自动化啊? 可以可以,确实这个,那,那如果说你用 u i 自动化来实现这个安全测试的叉 s s 检测,那你怎么去检检验它是否有这个漏洞呢?呃,你可以我可以把 就看他的弹框响应,看他弹框弹出来的内容吗?对吧?然后对于弹出来那种作断言是吧?对,对啊。那这个叉 s 有 哪几种类型的?呃,一个是反射型的,这个相当于就是不经过数据库,还有一个是存储型的,他会经过数据库,还有一个是 dom 类型的,呃,基本上,我知,基本上,我知道就是这三个 啊,对, ok, 最后呢给大家分享一份超高频软件测试面试秘籍,这里面所有的面试题和答案竹子稿都是非常的详细哈,都是我自己真实经验的总结,每一道题呢都有答案,有需要可以直接找我哈,希望对你有帮助。
![手势识别+AI分析小工具的开源地址:https://github.com/comalone/1kuangkuang;源码和提示词: https://pan.baidu.com/s/1e3PGbBgRnzdXuXecu6Z8Bw?pwd=hehe 提取码: hehe。[比心]#Gemini3 #手势识别 #AI做题](https://p3-pc-sign.douyinpic.com/image-cut-tos-priv/f9a3b188c5cc498e8ce0dfd6049deb96~tplv-dy-resize-origshort-autoq-75:330.jpeg?lk3s=138a59ce&x-expires=2084493600&x-signature=0eF4m1dB6T1LwO%2Frp%2F2jNxOJ6lA%3D&from=327834062&s=PackSourceEnum_AWEME_DETAIL&se=false&sc=cover&biz_tag=pcweb_cover&l=20260123103103CC055089C2CC85895A8F)
事情是这样的,评论区一位眼尖的小哥发现画面帧率太低了,于是主播转头就去问了 gmi, 没错,是直接附击了小哥的评论。 接下来就是 gmi 的 一顿修图,把当前问题和优化方案给你讲的明明白白, nice! 主播也是没啥耐心看的,反正代码框框就改好了,直接启动见分晓吧。 按照惯例,浏览器输入这个地址,有画面,贴心的 ai 还把经历实时显示给主播看了,果然已经标上到二十五帧以上了。测试下主流程,原先的白骨脚给去掉了,可能也是为了提高性能吧, 没问题,功能正常。哈哈哈,自从主播用上了 g m i, 每次都会忍不住惊叹,现在这个时代 ai 太强大了!最后感谢评论区小哥的评论,哦不,感谢小哥的提示词。

这个视频给大家介绍一下,我们在做前端性能分析的时候用到的一个非常重要的工具,就是性能监视器,那么怎么样打开这个性能监视器呢?我们可以在这个 康硕的这个左边,然后有一个 motors 的这样一个按钮,然后我们点开可以选择 please moniter, 然后就可以打开它。同样呢我们可以使用扛麦的 shift p, 然后输入这个 popamis monitor, 然后也可以也可以找到这个 pophomis moniter 的这个抽屉,然后我们点击可以打开它。 那么这样一个工具有什么作用呢?它可以实时的为我们展示我们的应用程序的关乎性能的一些关键指标,比如说在这 呃有这个 cpu 的占用率,然后结实的内存,然后还有冻结点的数量,然后还有事件注册的个数,那么我在这举了一个例子哈,比如说我点这个按钮可以增加 cpu 的 使用率,那么大家可以看到我如果一直点的话,那么他在这这个数字就会告诉我们这个 cpu 是使用率在一直上升的,是吧?内存占用呢?同样的道理,我点内存占用可以看到他在一直的上升,那么他就会以这种实时 实时的展示的形式告诉我们现在应用程序的一个状态,比如说我增加动节点,是吧?也可以看到它在一直增加,我增加 listen 呢,也是可以看到它是有效的。 我们来看这样一个案例,那么我现在呢,在这个我的这个应用程序的这个电影和影院之间来回不同切换的时候, 那么我就会发现这个切换的这个页面会变得越来越慢,那么此时呢我就可以使用这个性能监视器来看看到底是我的哪些指标可能出问题了,那这个时候我就打开这个性能监视器。好的,然后我就不停的进行切换操作。那么大家可以看到现在我的性能监视器这个面板上面,他的 这个动物节点的数量会变得逐渐变得非常非常的大啊,并且呢我使用这个垃圾回收之后呢,我发现这个动物节点仍然是无法释放的, 所以呢我有理由相信,那么我现在的这个程序的这个多么节点可能存在着一定的内存泄漏,那么这就是我进一步优化的方向,所以呢有了这个性能监视器可以非常方便的让我们找到性能的问题。好的,那么这就是今天我要给大家分享的所有内容。

大家好,今天介绍 ue 常用的十个调试指令演示案例,基于第三人称模板。第一步,先简单设置游戏环境,检查游戏模式,重载为 third person game mode。 有 人发现鼠标点击后会隐藏,那么我演示一种简单的解决方法, 找到默认的第三人称人物类,在图标中复制玩家控制器,搜索 set show mouse cursor 节点,勾选按钮,再连接到 event begin 事件上 翻译,运行后鼠标就会一直显示在运行窗口中了。但如果你有多个角色,建议你直接在玩家控制器里添加 set show mouse cursor。 设置完毕,接下来我们正式介绍蓝图调试指令。首先给大家介绍一下怎么照出调试台,保持游戏运行。按键盘左上角的波浪键,点击后可以看到界面最下方有一行文本控制台。 那么测试我们第一个指令 show collision, 输入时可以按上下键选择系统提示指令 执行后可以看到模型的碰撞题显示出来了。如果想关闭调试命令,直接退出运行是不行的, 还得手动关闭输入和刚才同样的指令,这里系统会自动记录上一次输入的指令,按向上按钮可以快速选择第二种,在指令后加入 off, 也可以关闭。 好的,介绍第二个指令 show bounds 可以 显示模型的包围和 接下来我们了解几个性能相关的指令。首先是最常用的获取游戏运行实时帧率, 如果想要更精确帧的现成时间分布,就用 statunit, 想用图标显示就用 stat unigraph。 接着说两个渲染相关的指令,想获取渲染场景的统计信息,调用 statscenering。 如果想要修改分辨率来测试性能,调用 r screen percentage 加一个数值,数值表示百分比,我们先调成百分之十测试一下,可以看到画面模糊了不少。 接着介绍两个内存相关的指令。首先是 stat memory, 用于监控引擎各自系统的内存使用情况,如果想要了解物理内存、虚拟内存页面大小等底层硬件参数,则调用 stat memory platform。 最后介绍两个游戏性调试的指令,如果我们想要倍速游戏,就调用 slow mo 加数值或加速十倍。大家可以观察到天空中云和人物的呼吸速度加快了。最后的指令 pause 就是 暂停了运行 pause 指令世界静止, 再次 pos 世界物体恢复运动。好的,以上就是今天所有指令的介绍和演示了。

看好了,小伙伴们,你们要找的包驰瑞格鲁最新版下载安装教程来了,它不仅可专业电池监测,还能耗电应用排查与充电性能分析,简单操作,一学就会,手机、平板双端都可以用, 下面我就来手把手教会你如何下载它的最新版本。我们首先点我视频右下角箭头,点击分享链接, 然后在手机上打开这个 app, 没有的话去下载一个,打开之后在搜索框里搜索六硕宝库,点搜全网,打开热门资源包,打开资源软件包,找到这个软件,保存下载安装就可以用了。

今天给大家介绍一款网络性能测试工具。 rpf 是 一款网络性能测试工具,它主要测试 tcp 和 udp 的 网络宽带性能。 rpf 网络测试工具使用非常简单,首先在服务端启动搜索端的程 序,输入命令 rpf 杠 s, 然后在客户端执行命令的端的程序输入命令 rpf ec, 程序杠 c 和 ip 地址 命令。执行后,可以从打印的内容看,可令端已经将搜索端的五二零幺端口连接,并持续向搜索端发送数据,并统计出每秒传输的字节数带宽,出现豹纹 重传的次数用塞窗口大小,整个测试将持续十秒钟,最后将汇总十秒的平均数据,并给出发送和接收端的统计。如果大家有更好的网络性能测试工具,可以在评论区给我留言。

楼主们是 h 公司提供的一款性能测试工具,通过模拟成千上万个用户,实时并发操作测试系统的性能,并且提供详细的测试结果分析,协助用户直接寻找问题。优势在于节约了人力成本和时间成本,一个人模拟上万个用户进行压测,大大降低了成本, 提升了效率。楼主那儿由三大组建构成,误站、虚拟用户生成器、 control 了控制器,还纳了四次分析器。基础概念弄懂之后, 熟悉一下老转哪性能指标,建立自己的规范,根据所测试的功能不同,又分为这几类测试模式。另外, lw 性能测试还有录制回放、脚本、检查点判断、关联参数化设置设置、虚拟用户集合、创建控制场景并调试,再通过控制器生成图标, 导出图标进行数据分析。整个流程做下来还是很简单的,如果是想入门测试或者转行的朋友能看懂数据,了解一些数据库,那么 lw 性能测试肯定是你学习软件自动化的关键。相关的学习资料和文档都整理好了,大家快去试试吧!

大家好,我是内核笔记,今天要给大家分享的是 ftrace 这个一个工具。首先这个 ftrace 的 工具是在二零零八年的时候被合入到了咱们的 linux 内核当中。 呃,当时的版本还是 linux 二点六。呃,咱们可以把 ftrace 这个名字进行一个拆分,它分别叫做 ftrace, 它当初最最开始的设计思路是追踪咱们当前一个系统的一个函数调用情况,这是它最初的一个版本。当然了,现在的 ftrace 的 功能已经非常的丰富了。 呃,不过咱们的一个 function 的 一个追踪,还是咱们的 ftrace 一个最基本的功能,也是我们平时调试 linux 内核问题时最常用的一个功能。所以说咱们在扩展到咱们的 ftrace 追踪,比如说追踪中断 之前,咱们还是要先看一下最重要的一个函数追踪情况的一个功能, 好,再开始咱们的一个实操。我给大家打开两个,一个系统终端,当前我的系统是二 k 三三九九, 刚才说到了,呃,咱们的一个 f trace 的 一个所有相关操作都可以在哪个地方执行呢?都是依赖咱们这个 trace f s 可以 看到它有一个挂载目录,咱们也进到这里吧。 呃, ftrace 的 里面有很多的一些文件,咱们下来就要看一些这些文件都有哪些的作用,然后最重要的是哪些个文件。好,我先给大家说一下最重要的几个文件是哪几个?第一个,这个 这个代表当前可以追踪的所有场景,可以看到里面就包含了咱们一个方程, 咱们第一个实验就是要操作咱们一个系统函数的一个追踪,那当前,呃可以看到它这边,顾名思义啊,当前的一个 trace 情况是没有任何的一个追踪的,我需要把咱们那个方程 ct 眼纹拮口到咱们的一个什么当前的 trace, 可以 看到已经这边是拮口成功啊。好,我现在就要追踪当前系统的一个 函数调用情况,我们还可以通过一个节点查看当前呃会输出哪些 function。 呃,有一个 ftrace 的 一个 filter filter 它会打印什么? alt functions enable, 就是 说所有的 function 都会打印到哪个地方呢? 呃, t r a c e trace 都会打印到咱们这个那个文件里面,它其实一个是一个 round buffer, 它会一直在打印,呃,循环的一个进行一个 buffer 覆盖,它会一直打非常多, 呃,它可能还会打一会儿, 其实,呃咱们看到这个打印的时候,嗯,也不要怕, 因为咱们正常使用的话,呃并不会把它一个全部的打印,因为它现在打的非常多,咱们其实是不会完全的打印。咱们还可以去操作刚才那个呃 field 的 一个文件进行一个我,我想打印哪一类的文件进行一个指定。 首先咱们等它打完,然后我要进行一个筛选, 这边打印太多了,看起来基本上是无法正常查看的,咱们下面就要说一些常用的咱们正常使用的一个技巧, 我进到这边吧,这边也可以进了这边应该我进到这里吧, a d b show, 进到刚才咱们哪个节点 system kernel debug, 然后 trace 是 不是这个地方它挂在了这里边,对不对? 这边也结束了。呃,当前咱们,呃打印哪些 trace 呢? 打印哪些?那个 trace 跟踪的一个文件呢?它是所有函数都进行个打印,非常太多啊,我们现在进行一个筛选啊,怎么筛选呢?比如说我想追踪咱们的 mount, 这个刚才那个命令是调用哪些函数呢?那我好,我 echo。 呃, mount, 我不确定它调用的是什么。 mount 肯定是有 mount 相关的。呃, mount 星 前面加个星,我一刻到咱们这个 set f trace fill 文件里面,然后看一下 它匹配了可以追踪哪些 mount 相关的一函数,它都会打印,然后,但我不知道系统调到底调用哪个,我,呃进行一个 cut trace。 但是呢,咱们刚才是不是已经把呃,当前的这个 trace 追踪已经打开了?所以说咱们相当于一个进行一个软复位啊,需要操作 n o p 到当前的一个 trace, 相当于一个把刚才的追踪器关掉,然后再进行一个重新打开啊,重新打开的时候他就会进行一个什么进行一个追踪。咱名字如果记不住,当然防省,如果记不住可以看哪个节点 再回忆一下是不是。呃,这个 trace 是 不是咱们要 echo function f u n c t l n function 到,呃,当前这个 trace 好, 已经有了,咱们 cut 一下 trace, t r a c e trace 当前是没有任何,呃,有一个系统调用,呃,有一个函数打印,那我再来一个执行一下系统命令。 mount 好, 这边是查看当前一个文件的一个 mount 情况,我再看一下我的 trace 好, 可以看到咱们刚才执行 mount 的 时候。呃,咱们的系统调用哪些函数呢?调用了 shout a show a mount info 这个函数,看到这个他有个方式指向我这里。那这个箭头代表什么呢?代表是谁调用了这个函数, 那前面呢?前面是打印的什么?咱们的一个函数执行的时间戳,那再往前走呢? 这个零零零四代表什么意思呢?因为咱们当前是多核的 cpu。 呃,每一次的一个系统调用函数执行,它不一定是在同一个 cpu 上,所以说可以看到有的是零,有的是四,咱们有的是一,咱们二 k 三点九,九九是六核。 我现在当前刚才执行的 mount 是 执行在了第四个核心上面。呃,呃,进行了一个 shout mount in ford 函数的一个执行。再往前走呢?是什么? 代表的是什么?代表的是当前的进程 a pid 和进程的一个什么名字?前面是 mount 进程,后面是咱们这个进程的一个 pid。 可以 看到。 呃,咱们这个打印仅仅是统计到了什么咱们系统被执行的一个情况。 那如果我想看到这个呃 shell mount in for 的 一个函数的调用栈呢?有没有办法去打印?也是有的。嗯,咱们需要操作一个节点即可。 呃,在 options, options 里面有一个节点叫做 cart function, 呃, aesthetic, 然后 trace, 这个是进行一个呃 trace 跟踪的一个打印的一个调用栈的打印。 我这边 echo 一 到 function as trace, 把它打开以后再回退到这里,我再看一下我的 cutter trace, 可以 看到 前面是刚才没有一扣一的一个场景,它仅仅会统计当前一个函数的调用情况。那我想看调用站呢?你就把刚才的一扣一打开以后,它会把整个调用站 也进行了一个详细的打印。这边没有我的 short mount in four, 我 再执行一下 mount 啊,然后 mount 两次,然后看它 mount 一 次也可以的,可以看到可以看到这里就把咱们一个 mount in for 的 一个这函数的打印的调用站进行了一个详细的啊输出, 这就是咱们追踪一个函数调用的一个情况啊,非常非常方便,也非常有利啊,结合我们刚才说的我们知道吧。 呃,咱们的方身 trace 可以 帮助我们判断内核中函数是否被调用到了,以及函数被调用的整一个路径,也就是咱们的一个调用栈,这样我们就理清了整体的一个追踪思路。如果我们通过 prf 这个工具 可以发现咱们内核的一个函数的一个调用频率比较高的函数是哪个? 刚才说的是什么意思啊?就是说我刚才是有意而为之想看一些 mount, 因为我只喜欢 mount, 那 我进行个系统优化的时候要如何去用这个工具呢?这要说到另外一个工具,就是一个, 呃, f p e r f p e r f top 杠 a, 呃,我这边想看一下当前系统执行了哪些的函数,看这边是统计的当前系统哪些函数执行的频率比较高, 那我们系统优化比较堵塞的时候,比较慢的时候,我就可以通过 prf top 杠 a 看当前系统哪些函数执行比较高,然后我想看这个函数被哪个 函数调用啊,我就可以用到刚才这块打印是不是就追踪到咱们一个系统资源消耗比较高的,呃,发生源是谁?这就是咱们一个系统优化的一个思路啊。 好,这边我看不清,呃,也看不出到底,呃执行的哪个特别高,我这边会给大家执行一个命令, 呃,之前,呃操作那个 i o。 密集型的一个均衡载的时候用到一个命令叫做,呃 s t r e s s 它会进行一个 i o 的 压力的模拟,我这边是杠 i, 然后杠一 杠,杠 time, 然后六百,这个 i i 就是 杠,那个叫做什么? 呃,叫做 i o 型的,呃, time out 少执行一个 time out。 好,我这边呃,它 s t r e s s, 它执行的是什么呢?它会反复大量的执行 s y, n c 进行一个 i o 的 操作,我再来执行在我咱们的 prf top 里面。呃,后面会期望看到什么? 可以看到是不是有 s y n c f s 呃,这项的系统弹出的调用,就是说咱们刚才这个执行这个一个工具的时候会调用哪些信息呢?调用到这里好, 当我发现此时咱们的一个 top 命令的一个系统,呃, system 调用比较高的时候就可以看到。呃,咱们如何看到咱们那个系统调用比较高?我这边再给大家执行一个命令, 呃,叫做 m p s t s t 这就是一个均衡的情况,杠 p 呃 a l l 二五一。 呃,这个是五秒进行一个详细的信息打印,它会打印出咱们的一个 user system l q 呃,这些一个系统调用的情况,咱们再把刚才一个情况打印出来, 叫做 s t r e s s t r e s s 杠 i 杠就是杠那个杠 i o 有 一个 i o。 模拟杠杠 time out 六百。 好,我这边执行成功了,我这边再执行一下 m p s t a t 它五秒钟会进行一个打印,可以看到咱们的一个其中有某一行的是什么 系统调用, system 系统调用,内核层次的系统调用会非常的多,但是我又不想,我又不知道是哪一部分比较多。 呃。哪一部分系统比较调用比较多的话就执行。刚才咱们用另外一个命令,我这边会退网。呃,假设他直一直在执行,就 p r f top 杠 a, 刚才是不是有一个 s one c 的 一个情况,可以看到我这边就能简单地追踪到。呃,咱们有哪些系统调用是比较多的?我这边比比,就说 s one c 这个,我把它给记下来。 我现在我现在不想追踪一些 mount, 我 想追踪什么?追踪刚才咱们的 s one c, 咱们把 cut set 这个什么 ftrace 这个 field 文件,把它清空,先清空一下。 set ftrace filter, 清空,清空有一段时间要,然后 echo 这个到什么到 set f trace filter 这个文件里面, 然后为了把追踪器重启一下,咱们把追踪器重启一下。 echo n o p 到哪个节点到当前的一个 trace 情况。呃, echo n o p 呃,追向到这个里面。好,现在相当于吹那个清空嘛。然后我现在再重新把 trace 打开, f u c t l n 到当前这个节点,好, trace 已经被重新打开了,咱们看一下 t r c e 的 一个打印情况, 好,现在没有打印,我这边 s y n c 执行一次,看一下会不会执行到咱们刚才的一个函数调用,发现执行到了。 好,咱们,呃后面。呃,咱们 f trace 这个 也不能说孤立的一个人在使用,对不对?咱们还使用到了 f, 呃, prf 这个命令,对不对? prf 命令进行分析,到底哪一个函数调用比较高,频率比较高?然后我再进一步的去追踪这个函数调用的是谁调用的, 看这边是可以指向它是谁调用的,并且还打印到了咱们一个追踪到一个关键的一个系统调用,就是 system f o s one c。 好, 此时此刻我就知道当前一个大量的 i o 操作是谁操作的?是在反复的在执行什么 s one c, 这样咱们就一个系统优化的一个场景,就做就做,做就可以做到了。好, 嗯,刚才咱们,嗯再回顾总结一下,就是说, 呃,如果我们通过 p e f 发现某一个函数内核函数的调用频率比较高,就可以通过咱们的方生 trace 工具进行个继续的深入,这样就可以大概知道这个函数是在什么情况下被调用的了。 好,那如果我们还想知道某个函数在内核中大概花费了多长时间,就是说这个函数执行的时间。哦, 呃,我们就可以。呃,要怎么做呢?嗯,咱们就要换换一个方式了, 换一个方程 trace, 当前咱们的一个 trace 是 方式对不对?呃,可以操作的哪些 trace 呢?是有这么多,其中这个就是可以对咱们一个系统调用时间进行一个打印,咱们把它打出来试一下。 echo 到咱们的一个当前的 trace。 啊,之前说过啊,要重新抓的话就需要把 trace 重启一下。嗯,这个叫哪个来的? 咱们重启一下 转过来。 嗯,我这边重启成功了。嗯,咱们追踪的是什么?让我看一下啊。追踪的是 set set of trace 下的一个 free 文件,是这个文件咱们 cut 一下 t i c e trace 当前没有调用,我这边执行一下 s one c, 执行一下 s one c, 然后再看它一下。好, 呃,正如如图所示啊,这边咱们 s y n c 中调用的 s y n c 这个呃 sb 这个文件所执行的一个时间就可以一目了然了。 呃,我们可以看到它里面还会有一些呃特殊符号, 这边会进行一个提示,就是说,比如说咱们某一个函数的,呃调用时间比较高,频率比较高,呃,就是调用时间比较高,他会进行一个呃,告诉你情况,就说有一个延时比较高。 嗯,这种场景是用在哪里呢?这种场景的话,咱们一般是对那个,比如说,呃性能要求比较高,某一个函数执行的时间有一些固定要求,可以去追踪,这样的话咱们这个场景就可以用到了。 好,这节课我给大家讲解了一下 ftrace 这个实战操作。通过我刚才的一个实验,相信大家对 ftrace 的 一个在开发中的一个使用场景应应该有所了解吧,就是追踪咱们系统一个方式 的系统调研情况。哦,通过跟那个 pf 这种命令的一个结合,来进行一个系统性能的一个优化 啊,找到对应的一个系统调用员,然后把他呃给干掉,达到咱们那个系统调用。当然是咱们期望咱们当前系统调用的函数是越少越好,那咱们的性能是不是越来越高?当调用的函数特别多的时候, 系统是不是就会有一个什么呃超载或者是载的情况?我们是不是要追踪当前哪些?呃函数调用导致了载?所以说咱们这个 ftrace 呃还是有所用武之地的。好 啊,这节课是带领大家体验一下 ftrace, 下节课我给大家讲解一下 ftrace 一个原理。好,非常感谢大家。

专业深度玩机,面对开发者调设 coloros 十四,你是否听说过手机开发者选项可以开启手机使用的大门, 在手机其他设置中就可以找到开发者模式。在这里你可以查看手机实际剩余的内存,以及开启内存拓展以及其他特殊功能。当你有特别需求的时候可以选择开启, 例如开启手机显示刷新率,可以看到每个 app 界面支持的最高速率。怎么样,各位小伙伴你学会了吗?

代码奔流,演化万千,此处是开源造化炉。我是司炉人莫行生。总有人问,在 ai 助手越来越能写却无法能调的今天, 我们如何打破代码生成与验证之间的壁垒?今日,我们便借谷歌 ai 浏览器自动化调试工具这方寸之作,观其如何以 ai 视觉与语意理解为核心驱动,回应这番扣问。第一重见自己。 这是一款基于 mcp 协议,连接 ai 与 chrome 浏览器的自动化调试工具。它不依赖传统的 d o m 选择器,而是以 ai 模型感知动态界面,支持本地 playride 与云端 browser base 双模运行,可捕获 lcpfcp、 tbtcls 等性能指标, 并能诊断网络请求、控制台错误与库尔斯异常。在技术引进的场合中,他并非替代已有的调试工具,而是填补了 ai 生成代码与真实运行环境之间的那道红沟。他以自然语言为媒戒,让浏览器能力成为 ai 的 延伸之首。第二,重见天地 场景一,前端调试从盲写到明查起初的困局,开发者借助 ai 生成登录页面代码,却无法验证其是否真能跳转、是否加载缓慢, 调试沦为反复的手工点击与控制台翻查技术的浮照。此工具可接受打开页面、模拟登录并分析性能这样的自然语言指令。它驱动浏览器执行操作,录制性能轨迹,定位出未压缩的背景图像,是拖累 l c p 的 主音真实的回响。 某团队借此将代码修复准确率从百分之六十提至百分之九十,调试时间缩短六成。炉边的鱼丝这不仅是自动化的一次胜利,更是将代码及假设转化为运行及证据的思维跃迁场景。二,性能回归,守护每一次发布 起初的困局电商平台每次上线前,需在多环境验证核心页面的性能是否退化。人工测试难以覆盖网络设备分辨率的组合变化,结果往往因人因境而异。技术的浮照工具可预设桌面、常规、移动终端、弱网、低端等多条极限 自动便利页面,并对比历史性能数据。当发现结算页总注册时间上升百分之二十,才会溯源至新增支付插件的同步加载问题。 真实的回想。团队据此实施异步加载与预缓存方案,性能指标恢复如常芦边的鱼丝,他让性能守护从依赖人眼与经验,转变为依赖轨迹,与预植似在流水线上布置了不会疲倦的守夜人。第三,重见众生。 你若想亲手触碰这番造化,可于 github 寻得它的源码,部署亦不繁杂,配置 note g s 与环境变量,选择本地或云端模式 m c t 服务,亮起绿灯,便可与你的 ai 编码工具对话。它全然开源,无需付费,遵循的是传心,而非藏风之道。 无论是个人开发者、验证片段代码,还是团队构建 c i c d 流水线中的自动化质检环节, 皆可借此内力,化指令为执行、化猜测为确信。若这番炉边液化,让你对 ai 驱动调试的造化之理有了新的体悟, 请将这份心火传递给更多在自动化测试与性能优化领域中跋涉的同道。炉火长明,造化不息,每一次理性的分享,都是在宽技术的边界。开源之道不在藏风,而在传心。我是司炉人莫行僧。

呃,大家好,今天给大家讲解一下,就是关于自己的电脑去打三角洲,或者或者去打其他游戏,帧数表现不好,就是说这帧数没有达到自己想要的那个 高度,该怎么去判断?首先大家可以看下我的这个配置,五六零零 x 加,呃,这个五零六零,然后上的屏幕是二 k, 分 辨率一百八十,一百八十的刷新率。呃,具体我讲一下这个刷新率,就是这个显示器的问题,有很多兄弟其实配置跟我差不多, 呃,可能 cpu 比我要好一点,九六零零叉,或者说七八零零叉三 d, 呃, cpu 稍微比我好一点,然后你们就上了一个二 k 二百四十赫兹的,但是说实在的五零六零你,你上二 k 的 话还是挺困难的,所以说我当时选显示选显示器的时候,我也是选的一百八十赫兹。嗯 嗯,然后经过游戏测试啊,以及我自己,呃,去研究,我感觉是刚好能跑满的一个状态,就说电脑刚好这个配置能把二 k 二一百八给跑满,可能二 k 还是差差那么一点点,但是刷新率肯定是跑满了的。 呃,所以说有很多兄弟他去选择上了一个,就是说你上的五零六的显卡九六九六零零 x, 但是你上了一个二 k 二二百六二百四,肯定是跑不满的,因为分辨率和刷新率他这两个是两个独立的东西,且特别是你的电脑性能, 所以说如果说你是三角桌玩家的话,你的这个配置跟我差不多,我建议你就上二 k 一 百八十赫兹。 呃,如果说你是打 csgo, 打瓦或者说打其他类型的枪战游戏的话,我建议你就去上一 k 的 二百四十赫兹,或者上一 k 的 二百六十赫兹,那也刚好能吃满,刷新率也是最高的一个状态。嗯,我这套配置的话,再开 k 模型,再加那个游戏,加加。 在这种情况,我在游戏内我是锁帧的,因为我的刷新率只有一百八吗?我就锁在我就锁成了一百八,然后平均上下浮动的话,大概也就是一个呃,一百一百七左右。当然我的 low 帧很低啊,我的 low 帧很低,因为我的电脑也没有超,没有超频, 我自己还没有去给他做超频。如果 low 帧很低的话,我建议是看配置进行超频,因为我的这套配置的话,超频的性价比不大。但是首先你的 low 帧很低,我建议是我的建议说你把 low 帧很低的情况,你可以,如果可以把 low 帧稳定下来,那也是个不错的选择。如果说你的百分之一 low 帧和百分之零点一的 low 帧差值也很大, 那你就会感觉到明显的卡顿。你也可以看我的波形图,其实他浮动的频率不会特别的大。就说在游戏里面,帧数不是最重要的,是你的感受,是你的感受,整个游戏的延迟度、卡顿度才是最重要的。 你如果有五百折,六百折,你去打游戏,你会感觉到很丝滑,但是实际你操作下来,你会发现你开枪会比别人慢。其实说实在的,各位不用去担心自己的帧数,焦虑帧数它只是一个表现,实际上大家在玩游戏的时候自己去感受这个状态如何。 呃,所以说说到这里,大家可以根据我的这个配置对电脑进行一个分析。然后第二呢我讲一下,就是最近呼声比较高的就是这个 boost 这个软件,大家很多人都都来问,需要我出一个教程,嗯,其实这个东西我觉得,呃,很多人不懂,因为这个东西属于一个开源软件,是一个呃,应该是国外, 国外流传过来的,就是说直接打开就能用,没有任何安装包。然后大家可能刚拿到这个就直接点开始优化,然后根据自己的选择,可能就选了个专家模式, 然后就自己调,然后或者说不懂的就直接选了一个调查,然后就一个一个点,点完之后这个 boost 就 根据你点的东西进行一个系统性优化。第一,它不会根据你的配置优化,它只会根据你选的东西去优化。 呃,所以说很多人找我调试的时候我也会用上它,但是我是根据你的配置就说你是属于什么配置,你是英特还是 amd, 我 会根据你的配置去给你做优化, 否则的话你如果用的这个你瞎调很容易出现问题。我我很久之前发的一个视频,就是有一哥们,他也是用这个东西导致于系统延迟度变差,他也是新电脑,刚买过来,点开始优化,然后优化完之后他就点应用, 他去打开 qq, 特别慢,要点一个 qq 打开要要要一两分钟才打得开,后续是重装的两边系统才给他解决掉。所以说大家的话就是打开的话自己略微懂一点。电脑的话就是说像这个鼠标加速,其实鼠标加速其实这个是很容易懂的一个东西,就是你直接给他关掉,他下面也有简介,就说 如果玩 fps 游戏就一定要关掉他对这个东西关掉之后你的鼠标会更打,打 fps 游戏会更跟手,就感觉空枪都很稳定。 就比如下面也有特别多就是这些简介,大家可以先看简介再去关。如果说你自己的电脑就摆假如你是主机或者笔记本,如果你是笔记本,那上上面说的笔记本不要关,但是你给他关了,你可能只会看上面这一串字,你不会打开看。 说大家在调这个东西的时候,可以自己选择去调,但是一定要分清楚什么该调,什么不该调,像这个安全性这些东西,就说大家看到我这个也不要去抄我这个答案,就说你的配置是什么,你再去调, 如果有不懂的你可以私信来问我,或者在粉丝群直接提问,我这边会就是说看到的就会回答你们。所以说这个东西一定不要乱调, 具体的大家都一定要看下面的这个简介,打开去看,像这个内存完整性,像这个虚拟安全性,这个这个无非就是内核隔离,但是他没有讲是内核隔离,他把内核隔离说的特别的特别的复杂,那么内核隔离的话,大家就直接打开,就相当于是,呃, 我给你大,我给大家放一段视频吧,就是我那啥昨天调电脑的时候,帮别人关了一个隔离的一个东西,我自己的电脑已经把安全东西给关掉了,所以说大家调在调 both decks 的 时候一定不要乱调,就就包括电源系统,虽然说这个电源系统我自己实测过,这个电源系统跟我们自己定制的电源系统差不多,但是 我们不确定就是说它这个盘里面到底有多少, 就是我们不确定他这个盘里面到底是有多少,就说有那么多项项目,那么他定制的这个电源计划,我们不确定他里面有什么改了,有什么没改。所以说我不建议大家是一键去使用,但是大部分 amd 的 机型可以一键去使用, 如果说出现问题了,咱们再把它关掉就完事了。所以说如果说自己的电源计划,就说大家可能会直接去用高性能,或者是去用那个呃拯救者的那个强劲模式, 但是如果说大家特别在乎这个东西的话,可以自己去做一个定制的电源计划,就比如像我的,我就是自己定做的,我自自己根据我自己的配置,在里面什么需要什么不需要,什么需要调,直接在里面进行一个调试。如果大家需要定制的电源计划,也可以在粉丝群来问我, 给我看你的配置,我来帮你看你的你的电脑能不能做定制的电源计划,或者说就可以直接用这个电源方案就行了。电源方案一定是很重要的一个东西,你的电脑无论打什么游戏,一定要用性能优先的电源方案,如果说你电脑打游戏用了一个平衡,可能就会影响你的游戏证书,影响特别多东西, 呃,所以说大家在用这个东西的时候一定要看,一定要看,这些东西都可以看的,看着调,不要瞎调,有不懂的随时来粉丝群来问 我。在这里搜一下这个内盒隔离,然后打开它会弹一个 windows 安全中心里面的,然后把这个全关了,不能打开,否则它会跟 a、 c、 e 相冲突。