当前位置: 首页 > news >正文

跟AI学一手之渲染隔离

近期的一个项目要做大屏,然后让AI写了个页面,但是用着用着发现一打开首页大屏,cpu 风扇就狂转,打开任务管理器,发现有个叫 google chrome helper(gpu)的进程一直疯狂占用 cpu,倒也不是特别疯狂,但是持续有个10%,这就不正常了,如果是峰值,偶尔高一点还正常,但是持续10%,非常诡异,起初以为是地图的问题,因为地图一般是动态的,占用 cpu 可能很高,但是我把地图去掉后,发现仍然有问题,于是就再让 AI 看,AI 虽然能写,但是出问题后,它就开始胡说八道了,我已经告诉他,跟地图没关系,结果回答还是那一套,什么数据更新会触发重新渲染巴拉巴拉,两天了,一直没解决。

因为我的前端经验不是很丰富,所以,我没办法排查,也不知道怎么排查,所以只能还得请教 AI,这次换了一个 AI 问,别说,这次 AI 还真的把问题发现了,他是这么说的

为什么其他页面正常,只有 DashboardPage 高? 关键差异:DashboardPage 是全屏布局 对比其他页面: HistoryDataPage、ReportPage 等:内容在 .soft-card 内,有固定宽度,不会撑满视口 DashboardPage:用了 h-full、flex: 1,占满整个视口 当 DashboardPage 占满视口时,任何内部变化,Chrome 都会认为"可能影响整个屏幕",于是: GPU 进程需要准备整个屏幕大小的纹理 任何小变化都触发全屏重绘 加上 contain: layout style paint 后,Chrome 知道: "即使这个容器占满视口,它内部的变化也是独立的,不需要重新计算整个文档。" 图示对比 没有 contain 时: plain ┌─────────────────────────────────────┐ │ <body> │ │ ┌───────────────────────────────┐ │ │ │ DashboardPage (全屏) │ │ │ │ ┌─────┐ ┌─────────────────┐ │ │ │ │ │stats│ │ map + charts │ │ │ │ │ └─────┘ └─────────────────┘ │ │ │ │ ↑ 内部变化 │ │ │ │ ↓ 触发整个 body 重绘 │ │ │ └───────────────────────────────┘ │ │ ↑ 也影响 Sidebar │ └─────────────────────────────────────┘ ↑ 也影响全局 transition 计算 有 contain: layout style paint 时: plain ┌─────────────────────────────────────┐ │ <body> │ │ ┌───────────────────────────────┐ │ │ │ DashboardPage (独立容器) │◄─┼── contain 边界 │ │ ┌─────┐ ┌─────────────────┐ │ │ ↑ 内部变化 │ │ │stats│ │ map + charts │ │ │ ↓ 只影响自己 │ │ └─────┘ └─────────────────┘ │ │ │ └───────────────────────────────┘ │ │ ↑ 不影响 Sidebar │ └─────────────────────────────────────┘ ↑ 不影响全局样式计算

所以它真的不是在胡说,它真的懂,至少比我懂,虽然说不让对 AI 说谢谢,但是我在博客说一句谢谢 吧,这样不会消耗多少算力,原理大家自己看吧。

http://www.jsqmd.com/news/1100316/

相关文章:

  • Java毕设选题推荐:基于 SpringBoot 的休闲棋牌室经营管理系统的设计与实现 基于 SpringBoot 的棋牌室计时计费管理平台【附源码、mysql、文档、调试+代码讲解+全bao等】
  • Python 扒网页数据简单尝试
  • 《招标投标法》修订落地,AI 标书工具如何适配全新行业合规要求|智标领航落地方案
  • 用Multisim14搞定模电课设:手把手教你搭建一个高低电平报警器(附仿真文件)
  • 性能测试实战指南:从JMeter、Locust到全链路压测与瓶颈定位
  • 原子化设计实践:从设计 Token 到可组合组件的工程化体系
  • 纺织业能耗监测:NILM技术应用与MATNILM模型解析
  • 3步搞定显卡内存检测:MemtestCL全面诊断GPU稳定性
  • 一线观察:长期体验长春汽车贴膜后发现的技术细节
  • 公园景观改造首选智能雾森系统 四季可用打造常态化唯美雾景
  • 国产 CPU 架构适配:OpenClaw 在飞腾 / 龙芯平台的运行优化与兼容性处理
  • GPT-5.6 出来了,但真正的大事不是“又一个新模型”
  • 影刀RPA新手教程:电商创业者完全指南——从零到一搭建第一个自动化选品采价流程
  • 基于YOLOv8的智能麻将机器人:从数据标注到机器人集成的全流程实战
  • 写论文要花 1 个月?笔墨 AI 帮你省掉 80% 机械工作,聚焦核心研究
  • OriginOS 6超无界状态栏深度解析:从Android UI定制到系统级个性化实践
  • 低查重AI教材编写秘籍:探秘实用AI工具,轻松搞定20万字教材!
  • Docker overlay2 占满磁盘怎么办?先定位再清理
  • 计算机毕业设计之基于Web的毕业论文在线批阅系统的设计与实现
  • Python爬虫经典案例014:爬虫数据存储方案Redis——高性能键值数据库的缓存与队列艺术
  • Vue3:defineOptions中inheritAttrs透传的用法和使用场景
  • OpenDog开源四足机器人:从零构建仿生机械狗的完整实践指南
  • Claroty 是如何保障 半导体产线 工控系统网络安全 与 合规落地?
  • 基于YOLOv8与MediaPipe的AI课堂行为分析系统实战指南
  • SpringBoot+Vue智慧停车场项目从零部署与核心模块解析
  • 终极TFT游戏助手:3大核心功能彻底改变你的云顶之弈体验
  • Uptime Kuma 监控通知全攻略:Telegram、飞书、企业微信、PagerDuty 深度配置
  • 开源AI音频插件终极指南:5步安装OpenVINO智能音频处理工具
  • 浅谈车膜老化问题:怎样贴才能用得更长久
  • 国家护网HVV高频面试题总结来了(题目+回答)