动态功耗与静态功耗
0 英文缩写
- SOI(Silicon on Insulator)绝缘体上硅
- FET(Field-Effect Transistor)场效应管
- CMOS(Complementary Metal Oxide Semiconductor)互补金属氧化物半导体
1 功耗分类
CMOS电路功耗主要可以通过如下方式切分:
- 动态功耗
- 开关功耗(又称为反转功耗)(switching power)
- 短路功耗(又称为内部功耗)(internal power)
- 静态功耗(也称为待机功耗、泄露功耗,包含有电路中晶体管的漏电流所导致的功耗)(Static Power、Leakage power)
2 动态功耗
2.1 开关功耗
定义:电路在开关过程中对输出节点的负载电容充放电所消耗的功耗
比如对于下面的CMOS非门中:
- 当 V i n V_{in} Vin=0时,上面的PMOS管导通,下面的NMOS管截止; V D D V_{DD} VDD对负载电容 C l o a d C_{load} Cload进行充电
- 当 V i n V_{in} Vin=1时,上面的PMOS管截止,下面的NMOS管导通; V S S V_{SS} VSS对负载电容 C l o a d C_{load} Cload进行放电
这样开关的变化,电源的充放电,形成了开关功耗,开关功耗的计算公式如下
P switch = 1 2 V D D 2 ∗ C load ∗ T r P_{\text {switch }}=\frac{1}{2} V_{D D}^2 * C_{\text {load }} * T_r Pswitch =21VDD2∗Cload ∗Tr
V D D V_{D D} VDD为供电电压
C load C_{\text {load }} Cload 为后级电路等效的电容负载大小
T r T_r Tr为输入信号的翻转率,也有另外一种写法, f f f为时钟频率,一个周期信号翻转两次,所以这里没有 1/2
P switch = V D D 2 ∗ C load ∗ f P_{\text {switch }}=V_{D D}^2 * C_{\text {load }} * f Pswitch =VDD2∗Cload ∗f
通过这个式子可以发现只要有时钟,或者信号跳变,就存在动态功耗。
它与电路的工作频率成正比,与负载电容成正比,与电压的平方成正比。
开关功耗是由于电路对负载的充放电引起。同时负载会导致transition time的增加,从而影响短路功耗的增加。
2.2 短路功耗
由于输入电压波形并不是理想的阶跃输入信号,有一定的上升时间和下降时间,在输入波形上升下降的过程中,在某个电压输入范围内,NMOS和PMOS管都导通,这时就会出现电源到地的直流导通电流,这就是开关过程中的短路功耗。短路功耗产生的条件一样是需要信号产生跳变。
当一个简单的cell的transition time非常长时,它的短路时间会变长,从而显著增加短路功耗。而对于一个复杂的cell,它的internal power有可能主要组成部分是对内部电容的充放电所组成。
3 静态功耗
3.0 简述
静态功耗是指电路在等待或者没有翻转情况下的功耗。 Static Power 与 CMOS的各种泄漏电流有关,静态功耗的概念非常重要,某种意义上它与MOS管本身的结构有关,受温度等外界温度的影响。它与频率无关,所以不能通过降频的方式降低静态功耗,同时Static Power与温度成指数关系,在温度较高时,Static Power会变得非常大。 Leakage Power可以从lib/db中得到,跟input pin的状态有关。
在CMOS电路中,静态功耗主要是漏电流引起的功耗。对于常规CMOS电路,在稳态时不存在直流导通电流,理想情况下静态功耗为0,但是由于泄露电流的存在,使得CMOS电路的静态功耗并不为0。一般情况下,漏电流主要是指栅极泄漏电流
和亚阈值电流
,CMOS泄露电流主要包括:
- PN结反向电流 I junction I_{\text {junction }} Ijunction
- 亚阈值漏电流 I sub I_\text{sub} Isub
- 栅极感应漏极泄漏 I GIDL I_\text{GIDL} IGIDL
- 栅极隧穿电流 I G T I_{GT} IGT
3.1 PN结反向电流( I junction I_{\text {junction }} Ijunction )
- 英文:PN-junction Reverse Current
- 成因:源/漏区与衬底形成的PN结在反偏时,耗尽区内的少子漂移和热生成载流子(反向饱和电流)。即为反偏二极管的泄漏电流。
- 公式: I junction ∝ e − q V b i / ( k T ) ⋅ V R I_{\text {junction }} \propto e^{-q V_{b i} /(k T)} \cdot \sqrt{V_R} Ijunction ∝e−qVbi/(kT)⋅VR
- V b i V_{b i} Vbi为内建电势
- V R V_R VR为反向偏压
- 抑制手段:
- 优化阱掺杂浓度
- 采用SOI(绝缘体上硅)技术消除衬底漏电路径
3.2 亚阈值漏电流( I sub I_\text{sub} Isub)
- 英文:Sub-threshold Current
- 成因:指源极和漏极之间的亚阈值泄漏电流,即为栅极电压低于导通阈值( V G S < V t h V_{G S}<V_{t h} VGS<Vth)时,仍会产生从FET漏极到源极的泄漏电流,是弱反型层电流(量子隧穿效应主导)。
- 公式: I sub ∝ e ( V G S − V t h ) / ( n ⋅ k T / q ) I_\text{sub} \propto e^{\left(V_{G S}-V_{t h}\right) /(n \cdot k T / q)} Isub∝e(VGS−Vth)/(n⋅kT/q)
- n n n 亚阈值摆幅因子
- V G S V_{G S} VGS 栅压
- V t h V_{t h} Vth 阈值电压
- 设计对策:
- 采用高阈值电压(HVT)器件
- 动态阈值调整(Body Biasing),通过衬底偏置进行增加阈值电压
- 电源门控(Power Gating)切断闲置模块供电
3.3 栅极感应漏极泄漏( I GIDL I_\text{GIDL} IGIDL)
- 英文:Gate Induced Drain Leakage
- 成因:高 V D S V_{DS} VDS下,漏极强反型导致栅-漏重叠区产生带间隧穿电流。在栅极上加信号后(即栅压),从栅到衬底之间存在电容,因此栅极和漏极之间存在感应漏电流,由此产生功耗。
- 触发条件:
- 深亚微米工艺(栅氧化层薄,电场强度高)
- 高漏极电压(如I/O接口电路)
- 缓解方案:
- 优化栅漏交叠区结构(如LDD轻掺杂漏)
- 降低工作电压(如从1.2V降至0.8V)
3.4 栅极隧穿电流( I G T I_{GT} IGT)
- 英文:Gate Tunneling Leakage
- 物理机制:栅极和衬底之间的隧道漏电流,超薄栅氧(<2nm)下,电子通过量子隧穿穿透栅介质层(直接隧穿/Fowler-Nordheim隧穿)。
- 公式: J t u n n e l ∝ E o x 2 ⋅ e − B / E o x J_{t u n n e l} \propto E_{o x}^2 \cdot e^{-B / E_{o x}} Jtunnel∝Eox2⋅e−B/Eox
- E o x E_{o x} Eox为栅氧电场强度
- B B B为材料相关常数
- 技术演进:
- 传统SiO₂ → High-K介质(如HfO₂)
- 金属栅(消除多晶硅耗尽效应)
3.5 静态功耗总结
静态功耗是深亚微米芯片设计的核心挑战之一,需从器件物理、电路架构、系统调度多层级协同优化。理解其微观机制(如量子隧穿)和宏观模型(如库文件参数化),是低功耗芯片设计的关键基础。
单个模块的静态功耗计算公式如下:
P leakage = ( I junction + I sub + I GIDL + I GT ) ∗ V D D P_\text {leakage } = (I_\text{junction}+I_\text{sub}+I_\text{GIDL}+I_\text{GT})*V_{DD} Pleakage =(Ijunction+Isub+IGIDL+IGT)∗VDD
整个芯片的静态功耗计算公式如下:
P static = ∑ i = 1 N ( P leakage , i ⋅ T active , i ) P_{\text {static }}=\sum_{i=1}^N\left(P_{\text {leakage}, i} \cdot T_{\text {active}, i}\right) Pstatic =i=1∑N(Pleakage,i⋅Tactive,i)
- T active , i T_{\text {active}, i} Tactive,i 为模块的上电活动时间占比
3.6 静态低功耗设计
当一个芯片温度过高时,一般采取什么措施是降频,降频的动作可以由控制系统自动完成。但是leakage不同于dynamic power,它与频率无关,所以降频对leakge power没有任何影响。
同时leakage与温度可成指数关系,当温度越高时,温度的影响越大。某些工艺下,90升至100度变化时,leakage可成十倍以上关系,leakage的暴增,导致温度进一步升高。形成恶性循环,直至芯片功能失效或烧毁。
这就是leakage power的可怕之处,也就是为什么我们需要非常谨慎的使用LVT ULVT,关注LVT比例。我在这里的建议是leakage功耗尽量控制在总功耗的15%以下(85°c)。
低功耗设计策略:
- 多阈值电压设计:关键路径用LVT,非关键路径用HVT
- 电源域划分:通过PMU动态关断闲置模块电源
Last 参考链接
- “IC常用知识4-静态功耗和动态功耗-CSDN博客”
- “为什么需要对芯片的leakage功耗特别关注? - 极术社区 - 连接开发者与智能计算生态”
- “(数字IC)低功耗设计入门(七)——门级电路低功耗设计优化(续) - IC_learner - 博客园”
- “数字电路低功耗设计-CSDN博客”
- “CMOS电路的功耗_cmos动态功耗-CSDN博客”
- “反向漏电流_百度百科”
- “GIDL_百度百科”
- “静态功耗 计算 - 春风一郎 - 博客园”
- “聊聊芯片中的静态功耗(Leakage Power)-CSDN博客”
- “CMOS IC功耗类型及其影响因素_芯片设计功耗组成和影响因素-CSDN博客”
相关文章:
动态功耗与静态功耗
0 英文缩写 SOI(Silicon on Insulator)绝缘体上硅FET(Field-Effect Transistor)场效应管CMOS(Complementary Metal Oxide Semiconductor)互补金属氧化物半导体 1 功耗分类 CMOS电路功耗主要可以通过如下…...
Webug4.0靶场通关笔记10- 第14关链接注入
目录 第14关 链接注入 1.打开靶场 2.源码分析 3.渗透实战 (1)方法1:跳转外部网页 (2)方法2:获取cookie 4.漏洞防御 本文通过《webug靶场第14关 链接注入》来进行渗透实战。 第14关 链接注入 链接注…...
PyTorch_指定运算设备 (包含安装 GPU 的 PyTorch)
PyTorch默认会将张量创建在 CPU 控制的内存中,即:默认的运算设备为 CPU。我们也可以将张量创建在 GPU 上,能够利用对于矩阵计算的优势加快模型训练。 将张量移动到 GPU 上有两种方法: 使用 cuda 方法直接在 GPU 上创建张量使用 …...
Pytorch-CUDA版本环境配置
Pytorch-CUDA版本环境配置 电脑如果是Windows平台下的Nvidia GPU的用户,需配置Pytorch的CUDA版本,分为三步: 1. 安装或更新NVIDA显卡驱动 官方驱动下载地址: https://www.nvidia.cn/Download/index.aspx?langcn 2. 安装CUDA To…...
力扣:24两两交换链表的节点
目录 1.题目描述: 2.算法思路: 3.代码展示: 1.题目描述: 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能…...
SETNX的存在问题和redisson进行改进的原理
首先分布式锁的原理就是当锁不存在时则创建,创建到锁的线程则执行业务。但是在这些操作中会有一些问题,下面是redis命令setNX设置锁的代码片段 if(缓存中有){返回缓存中的数据 }else{获取分布式锁if(获取锁成功){try{查询数据库}finally{释放…...
抽象工厂模式(Abstract Factory Pattern)
很好!你现在已经开始接触设计模式了,而**抽象工厂模式(Abstract Factory Pattern)是一种常用于“创建一系列相关产品”**的经典设计模式。 我会一步步帮你理解: 🧠 一句话解释 抽象工厂模式:提…...
AVIOContext 再学习
这个目前阶段用的不多,暂时不要花费太多精力。 url 的格式不同,使用的传输层协议也不同。这块看代码还没看到自己想的这样。 目前看的信息是:avformatContext 的 io_open 回调函数 在默认情况下叫 io_open_default,在解复用的 av…...
Power Query精通指南1:查询结构设计、数据类型、数据导入与迁移(平面文件、Excel、Web)
文章目录 零、Power Query简介0.1 Power Query 主要功能0.2 Power Query 的优势0.3 Power Query 组件 一、Power Query数据处理基本流程1.1 前期准备1.2 提取1.3 转换1.3.1 Power Query 编辑器界面1.3.2 默认转换1.3.3 自定义转换 1.4 加载1.4.1 自动检测数据类型1.4.2 重命名查…...
Linux 内核升级问题
一、内核升级后启动失败 原因:initramfs 镜像未正确生成或 GRUB 配置错误。 处理步骤如下: 1、进入旧内核启动系统。 2、重新生成 initramfs: sudo dracut -f --regenerate-all 3、更新 GRUB 配置: sudo grub2-mkconfig -o /boo…...
Linux 进程间通信(IPC)详解
进程间通信(IPC)深入解析 一、进程间通信概述 在操作系统里,不同进程间常常需要进行数据交换、同步协调等操作,进程间通信(Inter - Process Communication,IPC)机制应运而生。在Linux系统中&a…...
第3章 Python 3 基础语法001
文章目录 一、缩进规则1. 基本规则2. 示例3. 多级缩进4. 常见错误二、注释规则1. 单行注释2. 多行注释3. 特殊注释4. 注释规范三、代码块规则1. 控制结构2. 函数定义3. 类定义4. 上下文管理器四、总结与最佳实践五、调试技巧以下是 Python 3 基础语法规则的详细说明,涵盖 缩进…...
数据库介绍以及windows下mysql安装
文章目录 1. 前言2. MySQL概述2.1 相关概念2.2 DBMS的分类2.3 数据库交互图2.4 MySQL 介绍 3. MySQL 安装 数据库介绍以及windows下mysql安装 1. 前言 我们浏览的淘宝商品页面详情、刷视频网站的一个个视频,这些数据其实都是存储在公司的存储系统中的。想象一下&…...
list的两种设计
1. 内存布局对比 (1) MSVC 的实现 cpp class _List_node {_List_node* _Next; // 指向下一个节点_List_node* _Prev; // 指向前一个节点_Value_type _Value; // 存储的数据 }; 特点: 每个节点包含两个指针和一个数据成员。 Debug 模式:可能添加迭代…...
【C#】一个类中的接口方法使用static和不使用static的区别
在C#中,类中的接口方法是否使用 static 修饰符会带来显著的区别。这是因为接口方法的实现和调用方式与普通方法不同,而 static 关键字的使用进一步改变了这些行为。 以下是两者的区别: 1. 不使用 static 的接口方法 在这种情况下࿰…...
共铸价值:RWA 联合曲线价值模型,撬动现实资产生态
摘要 本文提出了一种针对真实资产(RWA)产业的联合曲线激励模型,将劳动与数据贡献映射为曲线价值,并基于固定档位与指数衰减奖励发放总计 2.1亿积分。该模型结合了去中心化定价与平滑递减机制,不仅为早期贡献者提供更高…...
【libuv】基于libuv的exe链接错误
vs2017构建 基于libuv的exe链接错误 1>libuv.lib(util.obj) : error LNK2019: unresolved external symbol __imp__GetAdaptersAddresses20 referenced in function _uv_interface_addresses 1>libuv.lib(util.obj) : error LNK2019: unresolved external symbol __imp__…...
什么是生成式 AI (GenAI)?
在科技飞速发展的今天,人工智能(AI)已不再是一个遥远的概念,而是悄然融入了我们的日常生活。从智能语音助手到自动驾驶汽车,从个性化推荐系统到医疗诊断辅助,AI正以前所未有的速度改变着世界。然而,在AI的广阔领域中,有一个分支正逐渐崭露头角,成为推动未来创新的关键…...
爬虫准备前工作
1.Pycham的下载 网址:PyCharm: The only Python IDE you need 2.Python的下载 网址:python.org(python3.9版本之后都可以) 3.node.js的下载 网址:Node.js — 在任何地方运行 JavaScript(版本使用18就可…...
JVM——JVM 是如何处理异常的?
JVM 是如何处理异常的? 在 Java 编程语言中,异常处理是一种强大的机制,用于应对程序运行时出现的错误和意外情况。而 Java 虚拟机(JVM)作为 Java 程序运行的核心环境,在异常处理过程中扮演着至关重要的角色…...
网络基础-----C语言经典题目(12)
一、MTU,IP 协议头中 TTL是什么? MTU 指的是网络层能够接收的最大数据包大小,单位为字节。主要作用是限制数据链路层一次能够传输的数据量。 IP 协议头中的 TTL 是 IP 数据头部的一个 8 位字段,最初它的设计目的是限制数据包在网络…...
【第十六届蓝桥杯省赛】比赛心得与经验分享(PythonA 组)
文章目录 一、我的成绩二、我的备赛经历三、如何备赛(个人观点)1. 基础语法2. 数据结构3. 算法4. 数学 四、做题技巧与注意事项五、我的题解试题A 偏蓝 🏆100%试题B IPV6 🏆0%试题C 2025图形 🏆100%试题D 最大数字 &am…...
解决Maven项目中报错“java不支持版本6即更高的版本 7”
错误背景 当Maven项目编译或运行时出现错误提示 Java不支持版本6即更高的版本7,通常是由于项目配置的JDK版本与当前环境或编译器设置不一致导致的。例如: 项目配置的Java版本为6或7,但实际使用的是JDK 17。Maven或IDE的编译器未正确指定目标…...
MySQL--索引入门
MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。 Mysql在存储数据之外,数据库系统各种还维护着满足特定查找算法的数据结构,这些数据结构以某种引用(指向)表中的数据…...
【网络原理】深入理解HTTPS协议
本篇博客给大家带来的是网络原理的知识点, 由于时间有限, 分三天来写, 本篇为线程第三篇,也是最后一篇. 🐎文章专栏: JavaEE初阶 🚀若有问题 评论区见 ❤ 欢迎大家点赞 评论 收藏 分享 如果你不知道分享给谁,那就分享给薯条. 你们的支持是我不断创作的动…...
利用Elixir中的原子特性 + 错误消息泄露 -- Atom Bomb
题目信息: This new atom bomb early warning system is quite strange… 题目使用 elixir 语言 一开始,我们会访问 /page.html <!DOCTYPE html> <!-- 设定文档语言为英语 --> <html lang"en"> <head><!-- 设定字符编码为UTF-8 --><…...
机器人--STM32
STM32启动模式 1,从主闪存存储启动器启动(默认) 2,从系统存储启动器启动 下载程序时需要使用的启动方式。 3,从内置的SRAM启动...
LVGL -文本显示 英文、中文
1 文本 在 LVGL 中,文本控件(Label)是一种基本的 UI 组件,用于显示文本信息。文本控件可以用于各种场景,如显示状态信息、提示消息、标题等。在图形用户界面(GUI)开发中,文本是传达信息和指导用户的重要组成部分。为了有效地展示文本,以下是与文本相关的几个关键方面…...
Java面试资源获取
🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 **1. GitHub开源项目****2. 技术博客与社区*…...
探索 Spring AI 的 ChatClient API:构建智能对话应用的利器
探索 Spring AI 的 ChatClient API:构建智能对话应用的利器 前言 在当今人工智能蓬勃发展的时代,智能对话系统成为了众多应用的核心组成部分。无论是客服机器人、智能助手还是聊天应用,都离不开高效、灵活的对话处理能力。Spring AI 作为 S…...
Java大师成长计划之第11天:Java Memory Model与Volatile关键字
📢 友情提示: 本文由银河易创AI(https://ai.eaigx.com)平台gpt-4o-mini模型辅助创作完成,旨在提供灵感参考与技术分享,文中关键数据、代码与结论建议通过官方渠道验证。 在多线程编程中,线程的执…...
java学习之数据结构:一、数组
主要是对数组所有的东西进行总结,整理 适合小白~ 目录 1.什么是数组 1.1数组定义 1.2数组创建 1)静态创建 2)动态创建 1.3数组遍历 1)for和while遍历 2)foreach遍历 2.数组越界问题及解决 2.1数组越界问题 2…...
Oracle OCP认证考试考点详解083系列04
题记: 本系列主要讲解Oracle OCP认证考试考点(题目),适用于19C/21C,跟着学OCP考试必过。 16. 第16题: 题目 解析及答案: 关于使用恢复管理器(RMAN)恢复表,以下哪三项是…...
MARM:推荐系统中的记忆增强突破
文章目录 1. 背景1.1 模型规模与推荐系统的挑战1.2 缓存技术在推荐系统中的潜力1.3 推荐系统中的数据与计算需求1.4 复杂度对比1.5 MARM模型的创新性 2. 方法2.1 流程2.1.1 序列生成器2.1.2 外部缓存查找2.1.3 多目标注意力机制2.1.4 发结果到缓存 **2.2 MARM与SIM**2.2.1 SIM的…...
INP指标
什么是INP(Interaction to Next Paint) 参考网站:webVital-INP文档 定义与核心目标 INP 是一项稳定的 Core Web Vitals 指标,通过统计用户访问期间所有符合条件的互动约定时间,评估网页对用户操作的总体响应能力。最…...
Flink 的状态机制
在实时流处理领域,状态管理是构建复杂业务逻辑的核心能力。Apache Flink 通过统一的状态抽象和高效的容错机制,为开发者提供了从毫秒级窗口聚合到 TB 级历史数据关联的全场景支持。本文将深入剖析 Flink 状态机制的底层原理,结合实际案例展示…...
【PostgreSQL数据分析实战:从数据清洗到可视化全流程】1.1 数据库核心概念与PostgreSQL技术优势
👉 点击关注不迷路 👉 点击关注不迷路 👉 点击关注不迷路 文章大纲 深度解析PostgreSQL核心架构与技术优势:从数据库原理到实战场景1.1 数据库核心概念与PostgreSQL技术优势1.1.1 关系型数据库核心架构解析1.1.1.1 数据库系统的底…...
linux下,ollama会把模型文件保存在哪里?
文章目录 运行ollama,有两种形式,估计得分开讨论首先是使用自动启动的ollama:先跑个“小一点的大模型”但是现在模型文件存在哪儿呢?运行ollama,有两种形式,估计得分开讨论 我们用两种方式,来运行ollama。 首先是使用自动启动的ollama: ps -aux | grep ollama系统自…...
EMMC存储性能测试方法
记于 2022 年 9 月 15 日 EMMC存储性能测试方法 - Wesley’s Blog 参考Android-emmc性能测试 | 一叶知秋进行实践操作 dd 命令 页面缓存 为了测试 emmc 的真实读写性能,我们需要先把页面缓存给清理: echo 1 > /proc/sys/vm/drop_caches console:…...
19. LangChain安全与伦理:如何避免模型“幻觉“与数据泄露?
引言:当AI成为企业"数字员工"时的责任边界 2025年某金融机构因AI客服泄露用户信用卡信息被罚款2300万美元。本文将基于LangChain的安全架构与Deepseek-R1的合规实践,揭示如何构建既强大又安全的AI系统。 一、AI安全风险矩阵 1.1 2025年最新威…...
5月3日日记
上午睡到自然醒(其实六点多被我爸叫起来抢火车票,发现明天中午的软卧候补上了,挺好的)然后继续睡到快10点。 中午吃的什么来着,好像是西红柿炒鸡蛋和藜麦饭,有个鱼不是很想吃就没吃 中午打了两把吃鸡&…...
C++类_构造函数
在 C11 里,类的构造函数有多种类型,下面为你详细介绍各类构造函数并给出示例代码。 1. 默认构造函数 默认构造函数是没有参数的构造函数,要是没有为类定义任何构造函数,编译器会自动生成一个默认构造函数。 2. 带参数的构造函数…...
【React】Hooks useReducer 详解,让状态管理更可预测、更高效
1.背景 useReducer是React提供的一个高级Hook,没有它我们也可以正常开发,但是useReducer可以使我们的代码具有更好的可读性,可维护性。 useReducer 跟 useState 一样的都是帮我们管理组件的状态的,但是呢与useState不同的是 useReducer 是集…...
Runnable组件重试机制降低程序错误率
一、LangChain 重试机制深度解析 当构建生产级AI应用时,with_retry() 机制可有效提升系统容错性,典型应用场景包括: API调用频率限制时的自动恢复模型服务临时不可用的故障转移网络波动导致的瞬时异常处理 参数详解与配置策略 1. 参数配置…...
纹理过滤方式和纹理包裹方式
纹理过滤方式 纹理过滤方式有临近过滤(Nearest)和双线性插值过滤(Linear),什么时候用什么过滤方式其实看个人选择,区别就是临近过滤是当需要的像素大于图片像素时候,一些像素点需要复用与他相近…...
55.[前端开发-前端工程化]Day02-包管理工具npm等
包管理工具详解 npm、yarn、cnpm、npx、pnpm 1 npm包管理工具 代码共享方案 包管理工具npm 2 package配置文件 npm的配置文件 方式二 常见的配置文件 常见的属性 常见的属性 常见的属性 依赖的版本管理 常见属性 npm install 命令 项目安装 3 npm install原理 npm instal…...
Maven安装配置以及Idea中的配置教程
一、下载Maven 我使用的是3.9.9的版本: 下载地址:Download Apache Maven – Maven 二、安装 将下载好的Maven压缩包解压到一个路径不包含中文的文件夹: 三、配置环境变量 以win11系统为例: 1.鼠标右键此电脑->属性->…...
【JavaScript】性能优化:打造高效前端应用
文章目录 一、执行效率优化(关键路径优化)1.1 算法时间复杂度控制1.2 Web Workers多线程计算二、内存管理(避免内存泄漏)2.1 定时器清理2.2 DOM引用释放三、DOM操作优化(渲染性能)3.1 批量DOM更新3.2 读写分离策略四、网络传输优化(加载性能)4.1 代码分割(Dynamic Imp…...
【C语言练习】018. 定义和初始化结构体
018. 定义和初始化结构体 018. 定义和初始化结构体1. 定义结构体示例1:定义一个简单的结构体输出结果2. 初始化结构体示例2:在声明时初始化结构体输出结果示例3:使用指定初始化器初始化结构体(C99及以上标准支持)输出结果3. 结构体数组示例4:定义和初始化结构体数组输出结…...
Three.js支持模型格式区别、建议
在 Three.js 中,3D 模型的种类和格式非常多样,每种格式都有其适用场景和优缺点。以下是常见的 Three.js 支持的模型格式、它们的区别、使用建议及推荐。 在这里推荐免费的blender工具,免费、占用空间不大,而且好用,前端打开模型时使用不错,或者有自己想做的模型也可以用它…...