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

Windows 图形显示驱动开发-WDDM 1.2功能—Windows 8 中的 DirectX 功能改进(一)

Windows 8包括 Microsoft DirectX 功能改进,使开发人员、最终用户和系统制造商受益。

功能改进在以下几个方面:

  • 像素格式 (5551、565、4444) :在低功耗硬件配置下,DirectX 应用程序的性能更高。
  • 双精度着色器功能:高级着色器模型性能改进,使你可以在 GPU 上执行更多操作,而无需占用 CPU。
  • 独立于目标的光栅化:适用于 Direct2D 应用程序的高性能抗锯齿路径。
  • 无覆盖和丢弃:使用基于磁贴的呈现器的移动平台和电源约束设备上的 Microsoft Direct3D 11.1 应用程序具有更高的性能。
  • 每个阶段的 UAV:添加了在 DirectX 11.1 硬件上所有着色器阶段启用着色器调试的功能。
  • 支持立体 3D) (纹理数组的跨进程共享:为启用立体 3D 提供基础。
  • 具有多样本抗别名示例访问的无序访问视图:使 Direct3D 11 应用程序可以实现高质量的呈现算法,而无需为大量样本分配内存。
  • 逻辑操作:对延迟着色技术的改进。
  • 改进了对常量缓冲区的控制:为游戏开发人员提供高效的缓冲区管理。

一、像素格式 (5551、565、4444)

为了更好地支持使用 DirectX 的低功率配置中的图形,Windows 8的 Direct3D 中必须支持来自 DXGI_FORMAT 枚举的以下 DirectX 9 像素格式:

  • DXGI_FORMAT_B5G6R5_UNORM
  • DXGI_FORMAT_B5G5R5A1_UNORM
  • DXGI_FORMAT_B4G4R4A4_UNORM

这些附加格式在 DirectX 应用程序中的低功率硬件上提供了更高的性能。 到目前为止,所有 GPU 都支持这些格式。 下表描述了对这些格式的所需支持,具体取决于硬件功能级别。

 所需的格式支持取决于硬件功能级别

功能功能级别9_x功能级别 10.0功能级别 10.1功能级别 11+
类型化缓冲区必需必需必需
输入装配器顶点缓冲区可选可选可选
Texture1D必需必需必需
Texture2D必需必需必需必需
Texture3D必需必需必需
TextureCube必需必需必需必需
着色器 ld*必需必需必需
带有筛选) 的着色器示例* (必需必需必需必需
着色器集合4必需
Mipmap必需必需必需必需
Mipmap 自动生成565 必需,4444、5551 可选565 必需,4444、5551 可选565 必需,4444、5551 可选565 必需,4444、5551 可选
RenderTarget565 必需,4444、5551 为否565 必需,4444、5551 可选565 必需,4444、5551 可选565 必需,4444、5551 可选
可混合的 RenderTarget565 必需,4444、5551 为否565 必需,4444、5551 可选565 必需,4444、5551 可选565 必需,4444、5551 可选
UAV 类型化存储可选
CPU 可锁定必需必需必需
graph LRA[功能级别9_1] -->|强制支持| B(565/5551/4444)C[功能级别10_0+] -->|可选支持| BD[WDDM 1.2驱动] -->|必须实现| E[格式转换器]

必需
4x MSAA可选可选565 必需,4444、5551 可选565 必需,4444、5551 可选
8x MSAA可选可选可选565 必需,4444、5551 可选
其他 MSAA 示例计数可选可选可选可选
多重采样解析如果 MSAA 支持 565) ,则为必需 (,4444、5551 不支持如果 MSAA 支持 565) ,则为必需 (,对于 4444、5551 为可选565 必需,4444、5551 可选565 必需,4444、5551 可选
多重采样加载如果 MSAA 支持 565) ,则为必需 (,对于 4444、5551) 可选565 必需,4444、5551 可选565 必需,4444、5551 可选

1.1低功耗像素格式架构设计

硬件兼容性矩阵

graph LRA[功能级别9_1] -->|强制支持| B(565/5551/4444)C[功能级别10_0+] -->|可选支持| BD[WDDM 1.2驱动] -->|必须实现| E[格式转换器]

1.2 内存布局规范

格式类型位分配模式Alpha处理
B5G6R5_UNORMR[4:0] G[5:0] B[4:0]无Alpha通道
B5G5R5A1_UNORMA[0] R[4:0] G[4:0] B[4:0]1位Alpha (0/1)
B4G4R4A4_UNORMA[3:0] R[3:0] G[3:0] B[3:0]4位Alpha (16级透明度)

二、 格式特性与性能分析

2.1 带宽效率对比

理论带宽节省 = 1 - \frac{FormatBits}{32bits}
格式像素大小相比32bpp节省带宽适用场景
B5G6R5_UNORM16bit50%移动设备HUD元素
B5G5R5A1_UNORM16bit50%2D游戏精灵(Sprite)
B4G4R4A4_UNORM16bit50%UI遮罩层
B8G8R8A8_UNORM (基准)32bit0%通用渲染目标

2.2 硬件采样优化

// 纹理创建示例
D3D11_TEXTURE2D_DESC texDesc = {.Format = DXGI_FORMAT_B5G6R5_UNORM,.BindFlags = D3D11_BIND_SHADER_RESOURCE,.SampleDesc = {1, 0}  // 必须关闭多重采样
};// 采样器状态配置
D3D11_SAMPLER_DESC samplerDesc = {.Filter = D3D11_FILTER_MIN_MAG_LINEAR_MIP_POINT,  // 三线性过滤受限.AddressU = D3D11_TEXTURE_ADDRESS_CLAMP
};

三、 功能级别支持细则

3.1 各功能级别强制要求

功能级别必须支持的格式可选支持
FL9_1B5G6R5, B5G5R5A1, B4G4R4A4
FL9_3同上 + B8G8R8A8BC1-BC3压缩格式
FL10_0+全部格式R10G10B10A2等高位深格式

3.2 驱动实现检查表

格式转换器:

HRESULT ConvertFormat(DXGI_FORMAT SourceFormat, DXGI_FORMAT DestFormat,const D3D11_BOX* pSourceBox)

混合兼容性:

  • 必须支持D3D11_BLEND_OP_ADD操作
  • Alpha混合精度误差需<5%

四、 开发者实践指南

4.1 格式选择决策树

graph TDA[需要Alpha通道?] -->|是| B{需要平滑透明度?}A -->|否| C[使用B5G6R5]B -->|是| D[使用B4G4R4A4]B -->|否| E[使用B5G5R5A1]

4.2 性能优化技巧

内存对齐

#define RGB565_ALIGNMENT 64
void* AllocTextureData(size_t size) {return _aligned_malloc(size, RGB565_ALIGNMENT);
}

批量转换:

# 使用texconv工具预处理
texconv -f B5G6R5 -y input.png

4.3 常见问题解决方案

问题现象根本原因修复方案
纹理边缘锯齿缺乏mipmap支持启用D3D11_FILTER_MIN_MAG_MIP_POINT
Alpha通道断裂1-bit Alpha精度不足升级至B4G4R4A4格式
设备丢失错误驱动格式支持不全使用CheckFormatSupport预先检测

五、 企业级应用案例

5.1 移动游戏优化方案

UI纹理打包:


问题现象	根本原因	修复方案
纹理边缘锯齿	缺乏mipmap支持	启用D3D11_FILTER_MIN_MAG_MIP_POINT
Alpha通道断裂	1-bit Alpha精度不足	升级至B4G4R4A4格式
设备丢失错误	驱动格式支持不全	使用CheckFormatSupport预先检测

性能收益:

场景内存占用减少帧率提升
2D游戏界面48%22%
粒子系统52%18%

5.2 工业HMI系统

注册表强制配置:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Direct3D\LowPower]
"Prefer16Bit"=dword:00000001
"MaxTextureSize"=dword:00000800  // 2048x2048

六、兼容性验证

6.1 WHQL测试要求

测试项通过标准测试工具
FormatConversionTest像素误差<3%HCKX Graphics Suite
BlendCompatibilityAlpha混合误差<5%Direct3D Feature Test
DriverFallbackVerification必须支持软件模拟WDK D3D11RuntimeTest

6.2 开发者自检清单

  • 调用ID3D11Device::CheckFormatSupport
  • 验证纹理创建返回HRESULT
  • 检查D3D11_FEATURE_FORMAT_SUPPORT能力位

相关文章:

Windows 图形显示驱动开发-WDDM 1.2功能—Windows 8 中的 DirectX 功能改进(一)

Windows 8包括 Microsoft DirectX 功能改进&#xff0c;使开发人员、最终用户和系统制造商受益。 功能改进在以下几个方面&#xff1a; 像素格式 (5551、565、4444) &#xff1a;在低功耗硬件配置下&#xff0c;DirectX 应用程序的性能更高。双精度着色器功能&#xff1a;高级…...

软件测试|App测试面试相关问题(2)

一、App 稳定怎么做的?Monkey 怎么用(App 稳定测试)? 稳定性这块&#xff0c;我们当时用的是SDK 自动的一个Monkey 工具进行测试的&#xff0c;其实Monkey工具主要通过模拟用户发送伪随机时间去操作软件&#xff0c;通过执行Monkey 命令&#xff0c;它会自动出报告&#xff…...

模拟电路需要了解的一些基础知识(部分)

基本的单路元件 1. 电阻&#xff1b;特性&#xff1a;阻碍电流流动&#xff0c;消耗电能并转化为热能&#xff08;遵循欧姆定律&#xff09;。是无源元件&#xff0c;应用&#xff1a;限流、分压、发热等&#xff1b; 2. 电容&#xff1b;特性&#xff1a;存储电荷和电场能&am…...

[特殊字符] MySQL MCP 开发实战:打造智能数据库操作助手

&#x1f4a1; 简介&#xff1a;本文详细介绍如何利用MCP&#xff08;Model-Control-Panel&#xff09;框架开发MySQL数据库操作工具&#xff0c;使AI助手能够直接执行数据库操作。 &#x1f4da; 目录 引言MCP框架简介项目架构设计开发环境搭建核心代码实现错误处理策略运行和…...

软考备考(一)学习笔记

一、软考介绍 计算机软考,计算机技术与软件专业技术资格(水平)考试 一年考试两次: 一次上旬(5月底),下旬一次(11月初) 初级资格:程序员 中级资格: 软件设计师 高级资格: 系统架构设计师 初级: 科目一:计算机硬软件基础知识 150min 笔试、选择 科目二:程序设…...

Linux环境变量

目录 环境变量 基本概念 常见环境变量 查看环境变量方法 测试PATH 测试HOME 和环境变量相关的命令 环境变量的组织方式 通过代码如何获取环境变量 通过系统调用获取或设置环境变量 ​编辑 环境变量通常是具有全局属性的 实验 环境变量 基本概念 环境变量(environment variables…...

跨浏览器书签同步方案:WebDAV + Floccus插件实操指南

FloccusWebDAV能够帮助把多个不同浏览器书签统一私有化管理&#xff0c;以下是介绍&#xff1a; Floccus 是一个允许用户在不同浏览器和设备之间私密同步书签的扩展&#xff0c;开源地址&#xff1a;https://github.com/floccusaddon/floccusWebDAV是一种基于HTTP的协议&#…...

银河麒麟系统 达梦8 安装 dlask 框架后端环境

适配的一套环境为 dmPython2.5.8 dmSQLAlchemy1.4.39 Flask2.0.3 Flask-Cors3.0.10 Flask-SQLAlchemy2.5.1 SQLAlchemy1.4.54 Werkzeug2.2.2其中 # sqlalchemy-dm1.4.39 通过dmdbms目录内文件进行源码安装 (MindSpore) [ma-user python]$pwd /home/syl/dmdbms/drivers/python…...

代码随想录算法训练营Day31

力扣738.单调递增的数字【medium】 力扣968.监控二叉树【hard】 一、力扣738.单调递增的数字【medium】 题目链接&#xff1a;力扣738.单调递增的数字 视频链接&#xff1a;代码随想录 1、思路 先将整数转为字符串变成可迭代对象&#xff0c;再转为列表从后向前遍历&#xff…...

LeetCode Hot100 刷题笔记(10)—— ACM格式输入输出练习

目录 Trick: 1. 只有输出 2. 单组_AB 3. 多组_AB_EOF形式 4. 多组_AB_T组形式 5. 多组_AB_零尾形式 6. 单组_一维数组 7. 多组_二维数组_T组形式 8. 单组_二维数组 9. 多组_二维数组_T组形式 10. 单组_字符串 11. 多组_字符串_T组形式 12. 单组_二维字符数组 13. 多组_带空格的…...

iPaaS集成平台在制造业有哪些应用场景

在制造业迈向智能化的进程中&#xff0c;“数据不通”“系统割裂”“响应迟缓”等问题如同隐形的锁链&#xff0c;束缚着企业转型升级的步伐。面对设备、系统、供应链之间错综复杂的连接需求&#xff0c;传统定制化开发周期长、成本高&#xff0c;难以满足快速变化的业务需求。…...

【Docker项目实战】使用Docker部署Gitblit服务器

【Docker项目实战】使用Docker部署Gitblit服务器 一、Gitblit介绍1.1 Gitblit 介绍1.2 主要特点 二、本次实践规划2.1 本地环境规划2.2 本次实践介绍 三、本地环境检查3.1 检查Docker服务状态3.2 检查Docker版本3.3 检查docker compose 版本 四、下载Gitblit镜像五、部署Gitbli…...

基于瑞芯微RK3562 四核 ARM Cortex-A53 + 单核 ARM Cortex-M0——Linux应用开发手册

前 言 本文主要介绍TL3562-MiniEVM评估板的AMP(Asymmetric Multi-processing)开发案例,适用开发环境如下: Windows开发环境:Windows 7 64bit、Windows 10 64bit Linux开发环境:VMware16.2.5、Ubuntu20.04.6 64bit U-Boot:U-Boot-2017.09 Kernel:Linux-5.10.209 Lin…...

并查集(力扣1971)

并查集的功能&#xff1a;判断两个节点是否在同一个集合中/将两个节点加入同一集合中。模板如下&#xff1a; #include<iostream> #include<vector> using namespace std; const int n 1e6 5;//视题目具体节点数量而定&#xff0c;比节点数量稍大即可 vector<…...

Pinpoint - 大型分布式系统的 APM(应用性能管理)工具

文章目录 一、关于 Pinpoint最新版本&#xff08;2024/10/23&#xff09;-- v3.0.1PHP, PYTHON 二、概述支持的模块 一、关于 Pinpoint Pinpoint 是一个用于大型分布式系统的 APM&#xff08;应用性能管理&#xff09;工具&#xff0c;由 Java / PHP/PYTHON 编写。 受 Dapper …...

高级java每日一道面试题-2025年4月10日-微服务篇[Nacos篇]-Nacos的服务健康检查机制是如何工作的?

如果有遗漏,评论区告诉我进行补充 面试官: Nacos的服务健康检查机制是如何工作的&#xff1f; 我回答: Nacos 服务健康检查机制详解 Nacos 的服务健康检查机制是确保服务高可用性和可靠性的核心功能之一。它通过定期检测服务实例的状态来判断它们是否健康&#xff0c;并据此…...

JavaScript:表单及正则表达式验证

今天我要介绍的是在JavaScript中关于表单验证内容的知识点介绍&#xff1a; 关于表单验证&#xff0c;我接下来则直接将内容以及效果显示出来并作注解&#xff0c;这样可以清晰看见这个表达验证的妙用&#xff1a; <form id"ff" action"https://www.baidu.…...

Android 应用数据分布目录结构解析

在Android系统中&#xff0c;/data目录下的几个关键路径有不同的用途&#xff0c;主要涉及应用数据存储和用户媒体文件管理,具体如下&#xff1a; 1. /data/user/0/ 路径别名&#xff1a;等同于 /data/data/&#xff08;旧路径&#xff0c;仍兼容&#xff09;。 用途&#xff…...

Spring Boot 中的自动配置原理

2025/4/6 向全栈工程师迈进&#xff01; 一、自动配置 所谓的自动配置原理就是遵循约定大约配置的原则&#xff0c;在boot工程程序启动后&#xff0c;起步依赖中的一些bean对象会自动的注入到IOC容器中。 在讲解Spring Boot 中bean对象的管理的时候&#xff0c;我们注入bean对…...

Java内部类详解

在Java中&#xff0c;内部类是一种强大的特性&#xff0c;允许将一个类定义在另一个类的内部。内部类提供了更好的封装性&#xff0c;能够访问外部类的成员&#xff0c;并常用于实现事件监听、适配器模式等场景。本文将深入探讨四种内部类&#xff1a;成员内部类、静态内部类、…...

台账自动统计——餐饮物资管理台账——仙盟共创平台——未来之窗

分类表 自动统计 创作不易&#xff0c;使用地址&#xff1a;https://mp.weixin.qq.com/s/Ok3wuSYAPhd-6N8DrK7jwg 餐饮物资管理台账自动统计能够实时、精准地呈现库存数量。通过对采购入库、领用出库、盘点盈亏等数据的自动记录与计算&#xff0c;管理者随时可获取准确库存信息…...

Function Calling是什么?

Function Calling&#xff08;函数调用&#xff09;是大型语言模型&#xff08;如GPT、Claude等&#xff09;中的一项关键功能&#xff0c;允许模型根据用户输入的需求&#xff0c;智能识别并返回结构化函数调用请求&#xff0c;从而与外部工具、API或代码进行交互。以下是详细…...

[学习] C语言数据结构深度解析:八种树结构与应用场景详解(代码示例)

C语言数据结构深度解析&#xff1a;八种树结构与应用场景详解 好吧&#xff0c;今天我们来研究树&#xff01;C语言中的树。 树是计算机科学中最重要的非线性数据结构之一&#xff0c;广泛应用于操作系统、数据库、编译器、图形学等领域。本文将通过C语言代码示例&#xff0c…...

【从零实现高并发内存池】Page Cache 从理解设计到全面实现

&#x1f4e2;博客主页&#xff1a;https://blog.csdn.net/2301_779549673 &#x1f4e2;博客仓库&#xff1a;https://gitee.com/JohnKingW/linux_test/tree/master/lesson &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01; &…...

6 CMD 与 PowerShell 指令大全、C 程序终端运行、字符编码切换指南

1 CMD 与 PowerShell 常用指令 在命令行环境中高效运行程序&#xff0c;掌握终端的基本操作命令至关重要。无论是 Windows 系统下的 CMD&#xff08;命令提示符&#xff09;还是 PowerShell&#xff0c;它们都配备了一系列实用的命令&#xff0c;助力我们管理文件、执行程序以及…...

为啥mac日历打不开浏览器

问题 换了新电脑后&#xff0c;mac上的日历总是没法同步google日历信息&#xff0c;导致经常错过会议 尝试mac日历上添加账户&#xff0c;结果到了打开浏览器缓解总是卡住&#xff0c;打不开浏览器&#xff08;safari&#xff09; 解决 检查默认浏览器设置确保已将所需的浏览…...

spring:注解@PostConstruct、@PreDestroy

这两个注解的功能类似标签中的init-method和destroy-method。分别在构造方法调用之后和实例释放资源之前被调用。 注解类&#xff1a; package com.annotation.dao.impl;import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation…...

Androidjetpack之viewmodel的原理分析

前言 viewmodel是jetpack中比较重要的一个组件。如果还没有学习viewmodel不知道怎么写代码什么的&#xff0c;可以看一下我之前写得文章。 jetpack之ViewModel的简单使用https://blog.csdn.net/i_xiang_la_shi/article/details/147218033?fromshareblogdetail&sharetype…...

springboot启动动态定时任务

1.自定义定时任务线程池 package com.x.devicetcpserver.global.tcp.tcpscheduler;import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotatio…...

Dify智能体平台源码二次开发笔记(7) - 优化知识库pdf识别(2)

目录 前言 设计方案 代码具体优化 前言 补充前篇的一些优化。 场景是识别pdf文档&#xff0c;但还需要把pdf文档中的图片也保存下来&#xff0c;在知识库增强检索的时候&#xff0c;直接可以显示图片。 设计方案 1、保存知识库中的图片 2、存入我们的文件服务器中&#xff0…...

Linux——进程通信

我们知道&#xff0c;进程具有独立性&#xff0c;各进程之间互不干扰&#xff0c;但我们为什么还要让其联系&#xff0c;建立通信呢&#xff1f;比如&#xff1a;数据传输&#xff0c;资源共享&#xff0c;通知某个事件&#xff0c;或控制某个进程。因此&#xff0c;让进程间建…...

AF3 create_alignment_db_sharded脚本create_shard函数解读

AlphaFold3 create_alignment_db_sharded 脚本在源代码的scripts/alignment_db_scripts文件夹下。 该脚本中的 create_shard 函数的功能是将一部分链&#xff08;shard_files&#xff09;中的所有对齐文件写入一个 .db 文件&#xff0c;并返回这些链的索引信息&#xff08;字节…...

Jetpack Compose 实现主页面与局部页面独立刷新的最佳实践

在 Jetpack Compose 开发中&#xff0c;我们经常遇到这样的需求&#xff1a;主页面包含局部页面&#xff0c;主页面刷新时需要更新局部页面&#xff0c;同时局部页面也需要能独立刷新。本文将介绍几种优雅的实现方案。 核心需求 主页面刷新时能触发局部页面更新局部页面能独立…...

KingbaseES之数据库审计

项目提出要配置数据库审计,来满足分保测评得要求.正好最近做过审计测试,还原下审计配置. 一.开启审计 [kingbaserack1 ~]$ vi /data/data_mysql/kingbase.conf [kingbaserack1 ~]$ sys_ctl -D /data/data_mysql restart grep -r shared_preload_libraries /data/data_mysql/k…...

类的加载过程

1、加载 双亲委派模型&#xff08;启动类》扩展类》应用类&#xff09; 2、验证 文件格式验证&#xff08;Class 文件格式检查&#xff09;元数据验证&#xff08;字节码语义检查&#xff09;字节码验证&#xff08;程序语义检查&#xff09;符号引用验证&#xff08;类的正确…...

小白工具视频转 3GP,多格式转换与数据安全的完美结合,在线使用

在众多在线视频转换工具中&#xff0c;小白工具的视频转 3GP 功能&#xff08;https://www.xiaobaitool.net/videos/convert-to-3gp/ &#xff09;凭借其出色的性能和丰富的功能脱颖而出&#xff0c;是进行视频格式转换的优质选择。 一、强大的多格式支持 这款工具支持 MP4、…...

六根觉性:穿透表象的清净觉知之光

在喧嚣的禅堂里&#xff0c;老禅师轻叩茶盏&#xff0c;清脆的声响划破沉寂。这声"叮"不仅震动耳膜&#xff0c;更叩击着修行者的心性——这正是佛教揭示的六根觉性在世间万相中的妙用。当我们凝视《楞严经》中二十五圆通法门&#xff0c;六根觉性犹如六道澄明之光&a…...

Redis的IO多路复用

1 传统的socket编码模型 传统 Socket 模型通常采用 多线程/多进程 或 阻塞 I/O 的方式处理网络请求。以下是典型实现步骤&#xff1a; 创建套接字&#xff08;Socket&#xff09; 步骤&#xff1a;调用 socket() 创建一个 TCP/UDP 套接字。通常把这个套接字称为【主动套接字】…...

数据结构和算法(六)--栈队列堆

一、栈 栈(stack)是限制插入和删除只能在一个位置上进行的表&#xff0c;该位置是表的末端&#xff0c;叫做栈顶&#xff08;top&#xff09;。它是后进先出&#xff08;LIFO&#xff09;的。对栈的基本操作只有 push&#xff08;进栈&#xff09;和 pop&#xff08;出栈&#…...

js中显示为[object Object]

现象描述&#xff1a; 读取文件并解析数据&#xff0c;遇到变量在使用时异常&#xff0c;通过log输出进行调试&#xff0c;显示为[object,Object]。 分析&#xff1a; [object,Object]表示这是一个对象&#xff0c;其构造函数返回一个对象。 解决方法&#xff1a; 用JSON进行…...

安装matlab R2021b

安装步骤 说明&#xff1a; 以下步骤都是根据R2021b_Windows\Crack_ReadmeWin.txt文件里的内容翻译的。 1&#xff09;打开安装包根目录&#xff0c;如下&#xff1a; 2&#xff09;双击R2021b_Windows.iso文件&#xff0c;自动装载进虚拟光驱里&#xff0c;目录入下&…...

Redisson分布式锁深度解析:原理、源码与最佳实践

什么是Redisson分布式锁&#xff1f; 分布式锁是分布式系统中确保资源互斥访问的核心机制&#xff0c;而Redisson作为基于Redis的Java客户端&#xff0c;提供了高效且功能丰富的分布式锁实现。本文将深入剖析Redisson分布式锁的实现原理、核心机制及源码细节&#xff0c;并结合…...

isNaN、Number.isNaN、lodash.isNaN 的区别

isNaN、Number.isNaN、lodash.isNaN 的区别 一、isNaN() 的作用二、什么是 NaN&#xff1f;三、isNaN() 的必要性四、isNaN() 比较1. 全局的isNaN()2. Number.isNaN()3. lodash.isNaN() 五、总结六、附加 一、isNaN() 的作用 检查是否为 NaN 的值&#xff0c;是返回 true&…...

全面解析Flutter中的Stream用法及实际应用

Flutter中的Stream详解 目录 什么是StreamStream的分类Stream的基础用法Stream的常用方法实际应用场景完整示例:计数器应用总结参考文章 1. 什么是Stream 在Flutter开发中&#xff0c;Stream是一种强大的异步数据流处理工具。它类似于广播频道&#xff0c;能够持续推送数据…...

网络请求——微信小程序学习笔记

1. 前言 发起网络请求&#xff0c;即发起HTTPS网络请求 &#xff0c;注意必须是HTTPS。 2. 使用前注意事项 使用前注意事项可参考官网文档&#xff1a; 基础能力 / 网络 / 使用说明 简单的来说&#xff0c;为了安全&#xff0c;服务器域名必须要备案&#xff0c;如果只是想…...

Oracle19C低版本一天遭遇两BUG(ORA-04031/ORA-600)

昨天帮朋友看一个系统异常卡顿的案例&#xff0c;在这里分享给大家 环境&#xff1a;Exadata X8M 数据库版本19.11 1.系统报错信息 表象为系统卡顿&#xff0c;页面无法刷出&#xff0c;登陆到主机上看到节点1 系统等待存在大量的 cursor: pin S wait on X等待 查看两个节…...

车机系统夏令时设置功能的说明

车机系统夏令时设置功能的说明 基本原理&#xff0c;夏令时&#xff0c;也就daylight saving time。据说古时候&#xff0c;电费比较贵&#xff0c;为了多采用白天自然光照明&#xff0c;通过行政的方式&#xff0c;调节上班时间。使大家能充分使用白天的时间干活&#xff0c;…...

DeepSeek+大数据分析快速应用落地

一、环境准备 1、准备一个 hive 的环境&#xff0c;并可以进行远程连接 2、环境中安装有 sqoop 和 mysql 3、DeepSeek 我使用的是 《问小白》 注册地址&#xff1a;打开问小白&#xff0c;填入我的分享码【1VYXOI】使用满血DeepSeek R1&#xff0c;零延迟、不卡、不限次、不…...

web前端开发:CSS的常用选择器

CSS常用选择器 CSS选择器是用于精准定位HTML元素并对其应用样式的核心工具。它的作用类似于“筛选器”&#xff0c;通过特定规则匹配文档中的元素&#xff0c;从而实现样式控制。 核心作用 定位元素 通过元素名称、类名、ID、属性等条件&#xff0c;快速找到需要样式化的目标元…...

Mathematica 中,将含有小数的表达式转换为整数或分数形式

具体方法和示例&#xff1a; 1. 使用 Rationalize 函数 Rationalize[x] 将小数 x 转换为最接近的有理数&#xff08;分数形式&#xff09;&#xff0c;可指定精度容忍度。 示例&#xff1a; Rationalize[0.25] (* 输出: 1/4 *) Rationalize[3.14159, 0.001] (* 输出:…...