Unity 6 中的新增功能

news2024/12/22 9:47:09

Unity 6 是 Unity 的最新版本。

一、编辑器和工作流程

Unity 6 中引入的更改
  • 在 Linux 上实现了将文件和资源从 Unity 拖放到外部应用程序的功能。
  • 将 Asset Manager for Unity 包添加到 Package Manager > Services > Content Management 部分中。此包允许用户轻松浏览、上传和导入 Unity 项目中的资源。
  • 添加了一个新的 Editor 命令行参数,用于指定 UPM 日志输出的自定义文件路径。有关更多信息,请参阅 Unity Editor 命令行参数。
Unity 6 预览版中引入的更改
  • 添加了可用于选择的穿孔菜单游戏对象
    与其他游戏对象重叠。要打开穿孔菜单,请在 Scene 视图中按住 Ctrl + 右键单击。穿透菜单在光标下显示所有可选游戏对象的列表。
  • 已添加到 Steam ID 提供商编辑器设置中,以支持多个应用 ID。Additional App IDs
  • 介绍构建配置文件
    为每个目标平台创建多个自定义构建配置。
  • “Build Profile Diagio”复选框不再可用,因为 Build Settings 窗口已替换为 Build Profile 窗口。
  • 集成了新的构建配置文件图标。
  • 修改了 Create 菜单,将 C# Script 菜单项替换为三个单独的选项:
    • MonoBehaviour 脚本
    • ScriptableObject 脚本
    • 空白脚本
  • 改进了 Create 菜单以减少菜单根目录的项目数量。菜单现在按字母顺序排序,几乎所有项目现在都位于一个类别中。

二、UI 工具包

Unity 6 中引入的更改

添加了一个选项,用于在线性色彩空间项目中强制 UI Toolkit 进行 Gamma 渲染。

Unity 6 预览版中引入的更改
  • 添加了缺少的 UxmlAttribute 转换器以支持 UXML 创作:、、、Unsigned Int 和 Unsigned Long。GradientAnimationCurveToggleButtonGroupState
  • 添加了对序列化属性的支持。PropertyFieldToggleButtonGroupState
  • 本机文本生成器重写。使用文本生成器,您可以使用多种语言和脚本
    ,例如阿拉伯语和希伯来语等从右到左 (RTL) 语言。
  • 添加了 UI Toolkit 动态图集的调试器。
  • 在 UXML 和 UI Builder 中添加了对深度嵌套属性覆盖的支持。
  • 添加了使用 Search 的类型选择器。
  • 在 UI Builder 库中添加了搜索字段。

三、实体

Unity 6 预览版中引入的更改
  • 添加了对启用对 Unity 资产的非托管引用的序列化支持。例如,您可以在非托管 IComponentData 上使用 Texture,而不是在托管 IComponentData 上使用 .UnityObjectRef<>UnityObjectRef<Texture>IComponentData
  • Create (创建) 菜单添加以下 Type 模板:
    • IComponentData
    • ISystem
    • IJobEntity
    • 面包师傅
  • 更改了实体的存储方式,以便为实体和游戏对象工作流的整合做准备。实体 ID 现在是全局唯一的,您现在可以有效地将它们从一个实体世界移动到另一个实体世界。这不会影响 Unity 6 中的 ECS 工作流,但它确实通过始终显示确切的实体来消除调试的歧义。
  • 对实体 Hierarchy 窗口应用了以下修复:
    • 您可以在层次结构中选择实体和系统。
    • 修复了在有效用例中从层次结构视图中删除实体后失败的无效范围检查。
    • 阻止实体层次结构在销毁实体时引发异常。
    • 现在,实体层次结构会在卸载场景时删除场景和子场景的所有节点。
    • 当您输入预 置
      从 Entities 层次结构。
  • 改进了在具有大量现有类型的世界中烘焙以及创建原型和实体查询的性能。
  • 改进了 LocalToWorld 系统和非脏层次结构的性能。
  • 修复了 using on an enable 组件未插入必要的作业依赖项的问题。EntityQueryWithNone<T>
  • EntityQuerySingleton 方法现在可以正确处理查询包含可启用组件的情况。
  • 修复了内存泄漏问题,例如影响世界反序列化和内容交付的问题。
  • 修复了在系统中定义的作业中的断点。

四、图形

Unity 6 中引入的更改

移动了通用的 Unity 6 文档渲染管线
(URP) 添加到 Unity 引擎手册中。例如,有关 URP 中光照的文档现在位于手册的 Lighting 部分。

Unity 6 预览版中引入的更改
  • 添加了对间接 Dispatch Rays(DXR 1.1 的一部分)的支持。该方法类似于 ,但三个调度维度是从 GraphicsBuffer 中检索的。已添加和新签名。添加了功能状态。RayTracingShader.DispatchRayTracingShader.DispatchIndirectCommandBuffer.DispatchRaysSystemInfo.supportsIndirectDispatchRays
  • 添加了 GPU 驻留抽屉,它会自动使用 API 通过 GPU 实例化绘制游戏对象。这减少了绘制调用的数量并释放了 CPU 处理时间。BatchRendererGroup
  • 向 GPU 驻留抽屉式导航栏添加了对 SpeedTree GameObjects 的支持。
  • 添加了对实例的 GPU 遮挡剔除(如果实例与 GPU 常驻抽屉)兼容的支持,包括小网格的剔除。
  • 为 API 添加新的每批次层筛选设置。您可以使用此设置剔除特定批次。BatchRendererGroup
  • 优化了 URP 和 HDRP 中体积框架的 CPU 性能,以提高低端硬件的效率,并允许更精确地控制质量设置。
  • 在 Build Profiles > Asset Import Overrides 中添加了 Force No Crunch 纹理压缩设置,该设置强制所有纹理禁用 Crunch 压缩并重新导入。
  • 添加了一个界面,允许您在 Graphics Settings 窗口中添加新的设置组。更新了默认检查器,以便在修改“图形设置”中的值时触发通知,并在 中添加了自定义菜单。IRenderPipelineResourcesIRenderPipelineGraphicsSettingsIRenderPipelineGraphicsSettings
  • 添加了对 的 UI Toolkit 支持。CustomPostProcessOrder
  • 添加了缓存 URP 和 HDRP 的渲染图系统编译的选项。

五、URP

有关 URP 新增功能和改进的完整说明,请参阅 URP 中的新增功能。

Unity 6 预览版中引入的更改
  • 为 Main Light 和 Additional Lights 的 Shadow 纹理分辨率添加了 8192x8192 选项。

  • 添加了摄像机历史 API,该 API 允许您访问每个摄像机的历史纹理并在自定义渲染通道中使用它们。History 纹理是 Unity 在前一帧中为每个摄像机渲染的颜色和深度纹理。

  • 向 URP 添加了 Adaptive Probe Volumes (APV) 照明场景混合。

  • 添加了一个新的配置包,允许您覆盖可见光的最大数量。

  • 添加了 Render Graph Viewer 窗口。此工具允许您可视化渲染通道如何使用帧资源,并调试渲染过程。

  • Rendering Debugger 现在包含一个 Mipmap Streaming 部分。此部分允许您检查纹理流活动。

  • 添加了 C# 脚本模板,用于创建使用体积组件的自定义后处理效果。

  • 添加了对 URP 的 APV 天空遮挡支持。

  • 添加了对空间时间后处理 (STP) 放大的支持。

  • 新的渲染图系统改进了自定义和维护渲染管道的方式。该系统减少了 URP 使用的内存量,并使内存管理更加高效。

  • 此 URP 版本实现了 Alpha Processing 设置。如果启用此设置,URP 会将后处理输出渲染为render texture (渲染纹理)
    具有 Alpha 通道。在以前的版本中,URP 通过将 Alpha 值替换为 1 来丢弃 Alpha 通道。

六、HDRP (HDRP)

有关 URP 新增功能和改进的完整说明,请参阅 HDRP 中的新增功能。

Unity 6 预览版中引入的更改
  • 添加了对覆盖材质属性(如平滑度、反照率和法线贴图
    在所有材质上,以方便材质和光照调试。通过路径追踪器管道进行渲染时,可以通过渲染调试器的 Lighting 面板使用 HDRP 中的材质覆盖功能。
  • 在 Adaptive Probe Volumes (APV) 中添加了 Sky Occlusion 功能,以允许使用静态探针卷。
  • 禁用了将烘焙数据存储为 Adaptive Probe Volumes (APV) 中的流式资源,以使其与 Asset Bundle 和 Addressables 兼容。
  • 添加了 AMD FidelityFX Super Resolution 2 (FSR2) Unity 脚本绑定和 HDRP 集成。
  • 改进了现有的 Mipmap Streaming 调试视图并添加了更多视图。HDRP 中的当前产品与 URP 提供的功能一致。
  • 添加了对空间时间后处理 (STP) 放大解决方案的支持。

七、多人游戏工具

Unity 6 中引入的更改

多人游戏工具包版本 2.2.1 改进了 Unity 中多人游戏开发的工作流程、Netcode for GameObjects 2.0 的性能,并增加了对分布式授权的支持。

Unity 6 预览版中引入的更改

将多人游戏工具包更新到版本 2.1.0,添加了 Network Scene Visualization 作为新的可视化调试工具。有关更多信息,请参阅 多人游戏工具 文档。

多人游戏模式

多人游戏模式包旨在缩短迭代周期,更轻松地验证实现选择,并在运行时流程的早期提高游戏质量。

Unity 6 中引入的更改

Unity 6 中新增的 Play Mode Scenarios 将测试周期集成到生产环境中,帮助您更早地为真实玩家提供首次可玩的体验。

Unity 6 预览版中引入的更改

将多人游戏模式更新到 1.0 版本。使用它来测试多人游戏功能,而无需离开 Unity 编辑器。有关更多信息,请参阅 Multiplayer Play Mode 文档。

八、专用服务器套餐

专用服务器包整合了 Editor 中的专用游戏服务器工作流程,以便更轻松地在本地部署专用服务器和 Multiplay 托管。

Unity 6 中引入的更改

新的 Multiplayer 角色允许您控制在每个构建目标中使用的多人游戏角色(Client、Server):

  • Content Selection:提供 UI 和 API,用于选择在不同多人游戏角色中应存在/删除哪些内容(游戏对象、组件)。
  • Automatic Selection:提供 UI 和 API,用于选择应在不同的多人游戏角色中自动删除哪些组件类型。
  • 安全检查:激活警告,以帮助检测因剥离多人游戏角色的对象而导致的潜在 null 引用异常。
Unity 6 预览版中引入的更改

发布了 Dedicated Server 软件包,您可以使用该软件包在服务器和客户端角色之间切换项目,而无需创建其他项目。有关更多信息,请参阅 专用服务器软件包文档。

九、游戏对象的 Netcode

游戏对象的 Netcode 是一个高级联网
为 Unity 构建的库,用于抽象网络逻辑。

Unity 6 中引入的更改

Netcode for GameObjects 版本 2.0 现在支持 Distributed Authority (Beta),并包含一些改进,以促进多人游戏开发中的最佳实践。有关游戏对象的基本 Netcode 功能以及各个 API 和系统的实际示例的信息,请参阅多人游戏用例 Bitesize 示例。

Unity 6 预览版中引入的更改
  • 在 Netcode for GameObjects 中添加了 Distributed Authority 模式,在游戏会话期间,客户端对生成的 Netcode 对象具有分布式所有权或权限。使用 Distributed Authority,客户端拥有生成网络对象的受管权限,该权限将向云状态服务宣布,并将状态更新传达给所有连接的客户端。高度优化的云状态服务可维护客户端之间网络会话的整体状态。
  • 添加了一个新的 RPC 属性,该属性可以执行服务器和客户端 RPC 的功能,以及启用客户端到客户端 RPC。
  • 添加了许多实用程序方法,包括 、 、 等。

十、实体的 Netcode

Netcode for Entities 是 Unity 面向数据的技术堆栈 (DOTS) 的一部分,它提供了一个具有客户端预测框架的权威服务器,可用于创建多人游戏。

Unity 6 中引入的更改

Netcode for Entities 版本 1.3 包括多项可用性改进和新的 Megacity Metro 演示游戏,该游戏展示了 Unity 6 如何更快、更轻松地设置多人游戏服务、联网车辆实施、可配置的基于规则的比赛和沉浸式玩家通信。

Unity 6 预览版中引入的更改
  • 添加了对游戏对象的支持,以渲染调试边界框。
  • 添加了 NetCodeConfig ScriptableObject,其中包含大多数 NetCode 配置变量,您无需修改代码即可自定义这些变量。
  • 现在,您可以通过以下方式禁用自动引导:
    • 在 ProjectSettings 中禁用自动引导。
    • 将新的 MonoBehaviour 添加到你的第一个构建场景中。OverrideAutomaticNetcodeBootstrap
  • 添加了可用于指定相关性的一般规则,而无需逐个指定 ghost 。AlwaysRelevantQuery
  • Added BatchScaleImportanceDelegate,这是批量工作的重要性扩展函数的新版本。不需要同时设置 ScaleImportance 和 BatchScaleImportance 函数指针。如果设置了 BatchScaleImportance,则它是首选的。

十一、包管理器

Unity 6 预览版中引入的更改

改进了项目清单
文件,如果文件为空或充满空格,则使用默认依赖项重新填充它们。

十二、平台

Unity 6 预览版中引入的更改
  • 添加了新的 Build 设置,以便在将文件上传到 Google Play 商店时将调试符号嵌入到 app bundle 中。您可以选择将符号包作为 zip 文件与 or 文件单独上传。您可以创建具有 or 和旧版扩展名的元件文件。
  • 添加了新的 Player 设置,以便在元件的包大小超过指定阈值时显示警告。
  • 在 中添加了一个新属性.androidlib 插件
    Inspector 指定 的依赖关系。现在,您可以配置为 依赖 ,从而通过覆盖 来扩展活动。
  • 添加了新的播放器设置,以允许或拒绝 Android 设备使用 Vulkan 图形 API。借助 Android Vulkan 允许过滤器列表,您可以允许某些设备使用 Vulkan 作为默认图形 API。或者,使用 Android Vulkan 拒绝过滤器列表,您可以限制某些设备使用 Vulkan API。

iOS 设备

Unity 6 预览版中引入的更改
  • 添加了插件支持。.xcframework
  • 从 中删除了自定义 XIB 启动屏幕类型播放器设置
    .
  • 添加了新的播放器设置以支持 64 位 ARM 和 64 位 Intel/AMD 模拟器体系结构。ARM 64 和 x86_64 支持也已添加到 Plugin Importer 中。

    visionOS 操作系统

    Unity 6 预览版中引入的更改

    添加了对 Apple 的 visionOS 平台的支持。

    Web 平台(以前称为 WebGL)

    Unity 6 预览版中引入的更改
  • 在 Web 平台中实现了以下方法和属性:LocationService
    • Start()
    • Stop()
    • isEnabledByUser
    • lastData
    • status
  • 添加了在 Unity 播放器中复制和粘贴的功能。

  • 添加了对 WebAssembly 2023 的支持。有关更多信息,请参阅 WebAssembly 2023。WebAssembly 2023 包括对高达 4GB 堆内存的支持,并且是以下 WebAssembly 语言功能的集合:
    • WebAssembly 原生异常
    • WebAssembly 单指令多数据 (SIMD)
    • 优化的数据操作
    • BigInt 的
    • WebAssembly.Table 表格
    • 非捕获 float 到 int 的转换
    • 标志扩展
  • 实现了以下 LocationService 方法和属性:
    • GetLastHeading()
    • SetHeadingUpdatesEnabled()
    • IsHeadingUpdatesEnabled()
    • GetHeadingStatus()
    • IsHeadingAvailable()
  • 添加了对 Compass API 的支持。

  • 添加了对移动浏览器的支持。

  • 实施了 Emscripten 3.1.38 工具链。

十三、生产力工具

Unity 6 预览版中引入的更改
  • 创建了 ProBuilder 工具上下文,您可以在 Scene 视图的 Tools 叠加中激活该上下文。ProBuilder 工具上下文在 Scene 视图中启用 ProBuilder 特定的操作。
  • 删除了 ProBuilder 窗口。ProBuilder 工具上下文与 Scene 视图上下文菜单结合使用,为 ProBuilder 操作提供了更简化的工作流程。
  • 将 Vertex(顶点)、Edge(边)和 Face(面)编辑模式移动到 Scene 视图中的 Tool Settings(工具设置)叠加层。要在“工具设置”叠加层中显示 ProBuilder 编辑模式,请在“工具”叠加层中启用 ProBuilder 工具上下文。
  • 当 ProBuilder 工具上下文在 Tools 叠加中处于活动状态时,将依赖于元素选择的 ProBuilder 操作(如 Bridge、Weld Vertices 和 Grow Selection)移动到 Scene 视图上下文菜单。
  • 将应用于整个 ProBuilder 网格组件的 ProBuilder 操作(如 Export、Subdivide 和 Center Pivot)移动到 Scene 视图上下文菜单。
  • 将创建和编辑工具移动到 Tools 叠加层。
  • 为大多数 ProBuilder 操作添加了预览选项。
  • 从 ProBuilder 中移动了这些工具选项工具栏
    到 Tool Settings 叠加层中:
    • 选择 Hidden
    • 方向:正常
    • 矩形:相交
  • 改进的创建工具:
    • 使用创建形状工具后按住 Shift 键,以创建您刚刚创建的形状的副本。
    • 使用 Create PolyShape 后,您现在可以在不离开该工具的情况下绘制多个形状。

分析器

Unity 6 预览版中引入的更改

已发布 1.1.0 版 Memory分析器
.有关详细信息,请参阅 Memory Profiler 软件包文档。

十四、Shader Graph

Unity 6 中引入的更改

向 Shader Graph 包添加了一组新的 Production Ready 示例内容着色器。

Unity 6 预览版中引入的更改

  • 添加了一个可与 Package Manager 一起安装的新示例内容包。这些示例包含 Shader Graph 中大多数节点的描述、示例和细分。这些示例可帮助您了解节点的内部工作原理,并查看它们如何工作以及如何使用它们的示例。
  • 添加了用于添加新节点和切换子窗口可见性的新快捷方式,并将多个现有快捷方式移动到 Shortcut Manager (快捷方式管理器)。
  • 在用户首选项中添加了缩放步长选项。
  • 添加了可自定义的 Heatmap 颜色模式,默认情况下,该模式显示 Shader Graph 中每个节点的估计性能影响。
  • 向 Shader Graph 添加了功能示例示例,以向用户展示如何在 Shader Graph 中实现特定效果。

十五、SpeedTree

Unity 6 预览版中引入的更改

添加了 SpeedTree9Importer,它支持 SpeedTree Modeler 9 导出的 .st9 文件,包括以下内容:

  • 支持 SpeedTree Games Wind 和 SpeedTree Legacy Wind 效果。
  • 能够通过 Importer Settings 配置风力强度和风向响应能力。
  • 用于内置 ()、URP 和 HDRP 渲染器 () 的新 SpeedTree9 着色器。.cg.shadergraph
  • 新风效果的新着色器,但对照明没有重大更改。

十六、版本控制

Unity 6 中引入的更改

  • 添加了一个选项,用于删除尚未合并到任何位置的非空分支。
  • 添加了一个设置,用于自动将任何新文件添加到源代码管理中。

Unity 6 预览版中引入的更改

添加了一个新的选项卡视图,用于列出和管理 Unity 的 Version Control 功能中的锁。

十七、VFX 图形

Unity 6 预览版中引入的更改
  • 改进了 Shader Graph Cross Pipeline 工作流程。
  • 现在,您可以从 Blackboard 面板处理内置属性和自定义属性。
  • 允许对具有公开纹理或图形缓冲区的 VFX 进行实例化渲染。
  • 条带现在支持 “Indirect draw” 选项。“间接绘制”仅渲染处于活动状态的粒子,而不是全容量。
  • 添加了对条带中每个粒子排序的支持。
  • 在 VFX 窗口中添加了新的性能分析/调试面板。
  • 在使用 URP 的 VFX 中添加了 Camera Buffer Access 支持。
  • 支持在 Shader Graph 中声明。ShaderKeyword
  • 重新设计了 Flipbook 播放器块。
  • 添加碰撞
    允许在接触时进行特定进程的事件。
  • 对 VFX Graph 中的快捷方式进行了以下改进:
    • 在全局 Unity Shortcut 窗口中注册了快捷方式。
    • 尽可能与 ShaderGraph 同步快捷方式。
    • 添加了新的快捷方式。
  • 添加了条带的粒子计数回读,这也允许条带进入休眠状态。
  • 为条带启用了 Frustum Culling。

十八、XR 系列

Unity 6 预览版中引入的更改

添加了对 Vision Pro 上的注视点渲染的支持。

  • Unity 6 中引入的更改
  • 为 RenderGraph 启用了 Optimized Buffer Disdiscard 设置。
  • 添加了对 Apple visionOS 2.0 的支持。
  • 在 visionOS 模拟器中运行时支持 Burst。注意:此功能需要 Burst 1.8.13+。
  • 为 Windows 和 Linux 编辑器添加了 visionOS 平台。注意:App 构建版本仍需要在 Mac Silicon 计算机上运行 Xcode。
  • 添加了对 visionOS 的单通道着色器支持。
  • 在 visionOS 上的 XR 应用程序中添加了对键盘输入的支持。
  • XR 包版本更新
    • com.unity.xr.arcore:5.1.0-pre.8 到 6.0.3
    • com.unity.xr.arfoundation:5.1.0-pre.8 到 6.0.3
    • com.unity.xr.arkit:5.1.0-pre.8 到 6.0.3
    • com.unity.xr.core-utils:2.2.1 到 2.3.0
    • com.unity.xr.hands:1.2.1 到 1.4.1
    • com.unity.xr.interaction.toolkit:2.4.0 到 3.0.5
    • com.unity.xr.legacyinputHelpers:2.1.10 到 2.1.11
    • com.unity.xr.management:4.3.3 到 4.5.0
    • com.unity.xr.meta-openxr:1.0.1 到 2.0.1
    • com.unity.xr.oculus:4.0.0 到 4.3.0
    • com.unity.xr.openxr:1.8.1 到 1.12.1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2263691.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

图漾相机-ROS1_SDK_ubuntu版本编译(新版本)

文章目录 官网编译文档链接官网SDK下载链接1、下载 Camport ROS1 SDK1.下载git2、下载链接 2、准备编译工作1、安装 catkin2、配置环境变量3. 将Camport3中的linux库文件拷贝到 user/lib目录下4、修改lunch文件制定相机&#xff08;可以放在最后可以参考在线文档&#xff09;**…

十二、从0开始卷出一个新项目之瑞萨RZN2L 基于IAR coremark fsp200工程构建和iar icf链接文件修改方法

目录 一、概述 二、rzn2l_fsp2.0.0_coremark工程构建 2.1 目录结构 2.2 项目一览 2.3 iar工程打开报错如何处理 三、代码优化的问题 3.1 system.c中复制内存 3.2 iar代码优化等级与volatile关键字 3.3 iar配置优化单个文件与预编译宏的范围 四、iar .icf链接文件修改…

内容与资讯API优质清单

作为开发者&#xff0c;拥有一套API合集是必不可少的。这个开发者必备的API合集汇集了各种实用的API资源&#xff0c;为你的开发工作提供了强大的支持&#xff01;无论你是在构建网站、开发应用还是进行数据分析&#xff0c;这个合集都能满足你的需求。你可以通过这些免费API获…

线程知识总结(二)

本篇文章以线程同步的相关内容为主。线程的同步机制主要用来解决线程安全问题&#xff0c;主要方式有同步代码块、同步方法等。首先来了解何为线程安全问题。 1、线程安全问题 卖票示例&#xff0c;4 个窗口卖 100 张票&#xff1a; class Ticket implements Runnable {priv…

多智能体/多机器人网络中的图论法

一、引言 1、网络科学至今受到广泛关注的原因&#xff1a; &#xff08;1&#xff09;大量的学科&#xff08;尤其生物及材料科学&#xff09;需要对元素间相互作用在多层级系统中所扮演的角色有更深层次的理解&#xff1b; &#xff08;2&#xff09;科技的发展促进了综合网…

OB删除1.5亿数据耗费2小时

目录 回顾&#xff1a;mysql是怎么删除数据的&#xff1f; 删除方案 代码实现 执行结果 结论 本篇是实际操作 批量处理数据以及线程池线程数设置 记录学习 背景&#xff1a;有一张用户标签表&#xff0c;存储数据量达4个亿&#xff0c;使用OceanBase存储&#xff0c;由于…

简洁IIC协议讲述

目录 一&#xff1a;首先&#xff0c;IIC传输是在2条线上传输的。 二&#xff1a;时钟信号的频率和占空比解释&#xff08;可以看作PWM波形&#xff09; 三&#xff1a;传输信号的流程图&#xff08;起始和终止信号都是由主机(我)控制&#xff09; 四&#xff1a;开始信号和…

IIC I2C子协议 SMBus协议 通信协议原理 时序 SMBus深度剖析

引言&#xff1a;系统管理总线&#xff08;SMBus&#xff09;是一种双线接口&#xff0c;通过该接口&#xff0c;各种系统组件芯片和设备可以相互以及与系统其他部分通信。它基于IC总线的操作原理。附录B提供了一些SMBus特性与IC总线不同的方式的描述。 SMBus为系统和电源管理相…

重拾设计模式--建造者模式

文章目录 建造者模式&#xff08;Builder Pattern&#xff09;概述建造者模式UML图作用&#xff1a;建造者模式的结构产品&#xff08;Product&#xff09;&#xff1a;抽象建造者&#xff08;Builder&#xff09;&#xff1a;具体建造者&#xff08;Concrete Builder&#xff…

Orleans异常传递测试

Orleans具备非常简单的异常传递机制&#xff0c;Grain或Placement注解逻辑抛异常&#xff0c;可以直接传递到客户端&#xff0c;测试代码如下&#xff1a; 首先在客户端、Silo服务程序的Main方法增加ThreadException事件处理函数&#xff0c;避免未处理异常导致进程闪退。 sta…

【Linux进程】基于管道实现进程池

目录 前言 1. 进程池 1.1 基本结构&#xff1a; 1.2. 池化技术 1.3. 思路分析 1.4. 代码实现 总结 前言 上篇文章介绍了管道及其使用&#xff0c;本文在管道的基础上&#xff0c;通过匿名管道来实现一个进程池&#xff1b; 1. 进程池 父进程创建一组子进程&#xff0c;子进…

PCL点云库入门——PCL库中点云数据拓扑关系之K-D树(KDtree)

1、点云的拓扑邻域 在三维空间数据处理的领域中&#xff0c;点云的邻域概念显得尤为关键&#xff0c;它不仅链接了点云数据之间的拓扑结构&#xff0c;而且在构建点云间的拓扑关系时起到了桥梁的作用。这种关系的建立&#xff0c;使得我们能够以一种高效、迅速的方式管理庞大的…

Leecode刷题C语言之根据第k场考试的分数排序

执行结果:通过 执行用时和内存消耗如下&#xff1a; int gk 0;int compare(const void* a, const void* b) {int* ua *(int**)a;int* ub *(int**)b;return ub[gk] - ua[gk]; }int** sortTheStudents(int** score, int scoreSize, int* scoreColSize, int k, int* returnSiz…

由popover框一起的操作demo问题

场景&#xff1a; 当popover框弹出的时候&#xff0c;又有MessageBox 提示&#xff0c;此时关闭MessageBox 提示&#xff0c;popover就关闭了。将popover改为手动激活&#xff0c;可以解决这个问题&#xff0c;但是会引起另外一个问题&#xff0c;之前&#xff08;click触发的时…

QT修改运行窗口的图标

首先&#xff0c;在.pro下添加两行&#xff1a; Debug:DESTDIR $$PWD Release:DESTDIR $$PWD 指定目标文件的路径 指定生成的debug和release文件夹路径在当前项目下 上面是为了防止爆奇怪的错 右键项目添加新文件 选择QT-》QT Resource File 起个名&#xff0c;然后下一步…

降低Mobx技术债问题-React前端数据流方案调研整理

我们现在主要是使用Mobx&#xff0c;但是Mobx的易于上手和灵活度也带来了很多预期以外的问题&#xff0c;随着项目的增长我们的代码技术债变得愈加沉重&#xff0c;不同的模块杂糅一起、单一store无限膨胀。 为此我们的调研是希望能找到一个更好的state配置、数据流的约定方案。…

sql server索引优化语句

第一步 建一个测试表 --create table TestUsers --( -- Id int primary key identity(1,1), -- Username varchar(30) not null, -- Password varchar(10) not null, -- CreateDateTime datetime not null --)第二步 插入100w数据 大概1分钟执行时间 ----插入数据…

aioice里面candidate固定UDP端口测试

环境&#xff1a; aioice0.9.0 问题描述&#xff1a; aioice里面candidate固定UDP端口测试 解决方案&#xff1a; /miniconda3/envs/nerfstream/lib/python3.10/site-packages/aioice import hashlib import ipaddress import random from typing import Optional import…

Java(二十五)final关键字

Java中的final关键字在编写程序中,比较常用。尤其是在上文中的匿名内部类中。 final 表示最终,也可以称为完结器,表示对象是最终形态的,不可改变的意思。 使用final修饰的的类,是“断子绝孙”的。 一:final修饰成员变量 Final修饰的类的成员变量是常量,不可被改变。 …

MySQL三大日志-Redo Log

Redo Log简介 事务中修改的任何数据&#xff0c;将最新的数据备份存储的位置&#xff08;Redo Log&#xff09;&#xff0c;被称为重做日志。 Redo Log 的生成和释放 随着事务操作的执行&#xff0c;就会生成Redo Log&#xff0c;在事务提交时会将产生Redo Log写入Log Buff…