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

2025-01-06 Unity 使用 Tip2 —— Windows、Android、WebGL 打包记录

文章目录

  • 1 Windows
  • 2 Android
    • 2.1 横版 / 竖版游戏
    • 2.2 API 最低版本
    • 2.3 目标帧率
      • 2.3.1 targetFrameRate
      • 2.3.2 vSyncCount
      • 2.3.3 Unity 默认设置以及推荐设置
      • 2.3.4 Unity 帧率托管
  • 3 WebGL
    • 3.1 平台限制
    • 3.2 打包报错记录 1
    • 3.3 打包报错记录 2

​ 最近尝试将写的小游戏打包,主要平台包括 Windows、Android 和 WebGL,以下是一些打包过程记录。

  • Unity 版本:6000.0.26f1c1

1 Windows

​ 不得不说,Windows 平台是真好,打包一切顺利,没有任何卡壳,太感动了〒▽〒。

​ 点击 Build And Run,直接无脑生成 exe。

image-20250106033655380

​ 小游戏的话不需要全屏,所以我设置了 Windowed。

image-20250106033350591

2 Android

​ 需要做一些处理,没有那么顺利。

2.1 横版 / 竖版游戏

​ 需要设置游戏是横版还是竖版,我将 Default Orientation 设置了 Auto Rotation,即自动翻转,并将 Allowed Orientations for Auto Rotation 仅设置 Landscape Right/Landscape Left,即可以横版左右翻转。

image-20250106034030506

​ 以下是相关设置说明:

  • Default Orientation:指定应用程序窗口在设备屏幕内的方向。

    可选项包括:

    1. Portrait:竖屏显示。
    2. Portrait Upside Down:竖屏倒立显示。
    3. Landscape Right:横屏显示(手机右侧朝下)。
    4. Landscape Left:横屏显示(手机左侧向下)。
    5. Auto Rotation:自动旋转。
  • Auto Rotation Behavior:自动旋转方式。

    可选项包括:

    1. User:用户可以锁定设备的自动旋转方向设置以关闭自动旋转。
    2. Sensor:依据设备传感器数据进行旋转,用户无法进行干预。

2.2 API 最低版本

​ Minimum API Level 必须手动设置,一般设置为 API Level 33,或者依据 Build 提示设为其指定值。我这里依据 Build 提示,设置为 API Level 34。

image-20250106035322270

​ 有意思的是,Unity 默认会选很古老的 API,例如 Android 8.0(API Level 26)。

​ 但奇怪的是,在 Unity Hub 下载 Android 模块时,往往只下载了 API Level 33 ~ 35,这就非常搞鬼了,不手动设置的话,基本第一次 Build 都会报错,因为压根没装那么低版本的 API。

image-20250106035718633

2.3 目标帧率

​ 通过 targetFrameRate(软件计时、手动设置)和 vSyncCount(硬件支持、自动设置)两种方式进行控制,只会同时生效其中一种(不考虑 VR 设备):

  • vSyncCount = 0 时,targetFrameRate 生效。
  • vSyncCount != 0 时,vSyncCount 生效。

2.3.1 targetFrameRate

targetFrameRate 是指定 Unity 尝试渲染游戏的目标帧速率,需要在程序运行之初使用代码进行设置。参考官方文档:https://docs.unity3d.com/6000.0/Documentation/ScriptReference/Application-targetFrameRate.html。

​ 不做任何手动设置时,Android 固定 30 fps 渲染(即 targetFrameRate = 30),以节省电池电量,与显示器的本机刷新率无关。

说明:

  1. targetFrameRate 只是帧率上限,实际帧率只会比这个值低或等于。

    不是说设置为 120 fps 后,老年机也能跑 120 帧。

  2. targetFrameRate = -1,表示帧率不封顶,帧数能跑多高就会跑多高。

  3. 受到显示器最大刷新率的限制,实际帧率不会超过显示器的本机刷新率。

    如果 targetFrameRate = 120,但是手机屏幕最高仅支持 90 帧,那么实际帧率最大也只能是 90。

  4. 在 Android 和 iOS 上,targetFrameRate 将向下舍入到能够整除显示器当前刷新率的最大值。

    例如,在 60Hz Android 显示器上运行时,且设置 targetFrameRate = 25 ,则设备帧率最高为 20fps,因为 20 是小于 25 且可以整除 60 的最高数字。

  5. 在 Windows 和 Web 上,不建议使用 targetFrameRate ,因为 targetFrameRate 基于软件计时,容易出现轻微卡顿现象。

​ 最初不知道如何设置的时候,导出 APK 在手机上运行时只有 30 帧超级卡,我还以为是自己性能优化没做好 hh。

2.3.2 vSyncCount

vSyncCount 表示每帧之间应传递的垂直同步数,即游戏允许在帧之间传递的屏幕刷新次数。范围是 0~ 4 内的整数,默认为 1。参考官方文档:https://docs.unity3d.com/6000.0/Documentation/ScriptReference/QualitySettings-vSyncCount.html。

​ 假设目标设备显示器的刷新率为 90 fps,当 vSyncCount > 0 时,游戏目标帧为 90 / vSyncCount

vSyncCount 能够在 “Project Settings” -> “Quality”-> “VSync Count” 中进行设置:

  • Don’t Sync:即 vSyncCount = 0
  • Every V Blank:即 vSyncCount = 1
  • Every Second V Blank:即 vSyncCount = 2
image-20250106043532111

说明:

  1. 在 Android 和 iOS 上,vSyncCount 始终被忽略,因为移动设备不允许不同步渲染(使用 targetFrameRate 控制帧速率)。
  2. 在 Windows 和 Web 上,建议使用 vSyncCount,因为其基于硬件同步机制,能够产生完全无卡顿的输出。

2.3.3 Unity 默认设置以及推荐设置

平台Unity 默认设置推荐设置
WindowsvSyncCount = 0, targetFrameRate = -1
(帧率不封顶,不同步渲染)
默认即可
Android / IOStargetFrameRate = 30
(固定 30 帧渲染)
targetFrameRate = 60
WebGLvSyncCount = 1
(垂直同步,以本机显示刷新率渲染)
默认即可

​ 实现代码:

public class GameStart : MonoBehaviour
{private void Awake(){
#if PLATFORM_ANDROIDQualitySettings.vSyncCount  = 0;Application.targetFrameRate = 60;
#endif}
}

2.3.4 Unity 帧率托管

​ 在 “Project Settings” -> “Player”-> “Resolution and Presentation” -> “Resolution” 中,可勾选 “Optimized Frame Pacing”,从而让 Unity 均匀分布帧,以减少帧速率的差异并创造更流畅的体验,提供更平滑的帧率表现。

image-20250106045000717

​ 但参考该文:https://blog.csdn.net/m0_63261863/article/details/143192236,勾选可能导致游戏降频,建议结合自己情况勾选。

3 WebGL

​ WebGL 平台限制是真多,导出过程真的快吐了。

​ 但优点是链接点开即玩,所以没有办法。

3.1 平台限制

  1. 不支持访问本地文件。

    对资产数据和 AssetBundle 的网络请求会缓存在浏览器缓存中。

  2. 不支持多线程。

    不支持 C# System.Threading 命名空间中的任何内容。

  3. 不支持System.Net命名空间内的 .NET 网络类。

  4. 不支持 Unity 内部 AudioSource 与 AudioClip 的部分 API。

    这将导致,在 Unity 编辑器中使用 Addressables 模拟真机 AB 包加载音频时,无法正确播放。只能使用 Use Asset Database,或者将音频文件放在 Resources 文件夹下(不建议这样做)。

image-20250106050823395
  1. 不允许使用 System.Reflection.Emit 动态生成代码。

  2. 不支持同步加载资源,只能异步加载。

3.2 打包报错记录 1

​ 一次偶然的机会,看到 Low 选项,不自觉设置为了 Medium。

image-20250106051828069

​ 于是 WebGL 下打包报错,获取不到单例的非公共构造函数。

​ 报错代码:FrameworkException: Non-Public Constructor() not found! in Framework.Toolkits.PoolKit.SingletonObjectPool`1[Framework.Toolkits.AudioKit.AudioPlayer] at Framework.Toolkits.SingletonKit.SingletonCreator.CreateNonPublicConstructorObject[T] () [0x00000] in <00000000000000000000000000000000>:0

image-20250106052012118

​ 查原因后,发现 Strip Engine Code 等级为 Medium 及以上时,会对反射的代码产生影响。而恰好,我的单例是通过反射获取私有无参构造函数创建的(官方链接:https://docs.unity3d.com/6000.0/Documentation/Manual/class-PlayerSettingsWebGL.html)。解决方案就是将 Strip Engine Code 等级调回 Low 即可。

image-20250106052249345
  • Strip Engine Code:仅适用于 IL2CPP 脚本后端。

    勾选会剔除应用程序不使用的 DLL,以减少内置播放器的大小,建议勾选。

  • Managed Stripping Level:控制剔除程度。

    1. Minimal

      使用此选项以剥离类库、UnityEngine、Windows 运行时程序集,并复制所有其他程序集。

    2. Low

      删除无法访问的托管代码,减少构建大小和 Mono/IL2CPP 构建时间。

    3. Medium

      运行 UnityLinker 以减少代码大小,剔除范围大于 Low 选项,且某些反射代码路径的行为可能不同(支持自定义 link.xml 文件)。

    4. High

      运行 UnityLinker 进一步减少代码大小,剔除范围大于 Mediumm 选项,某些反射代码路径的行为可能不同,同时某些方法的托管代码调试可能不再起作用(支持自定义 link.xml 文件)。

3.3 打包报错记录 2

​ 有次无意间不满意新写的代码,直接将老版本代码(unitypackage)覆盖导入 Unity,之后再进行 WebGL 打包时发生如下报错:

Build completed with a result of 'Failed' in 129 seconds (129224 ms)
Building Library\Bee\artifacts\WebGL\build\debug_WebGL_wasm\build.js failed with output:P:\Unity Project\Mine\Survivor Game 2.0>set MYDIR=S:\Unity Editor\6000.0.26f1c1\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\emscripten\ P:\Unity Project\Mine\Survivor Game 2.0>goto FOUND_MYDIR 
wasm-ld: warning: function signature mismatch: UxmlFactory__ctor_m87E7DA1E842A9B4B4A45132392EDA2868D62B8A2
>>> defined as () -> void in P:/Unity Project/Mine/Survivor Game 2.0/Library/Bee/artifacts/WebGL/il2cppOutput/build/GameAssembly.a(3yoe1qmioyer.o)
>>> defined as (i32, i32) -> void in lto.tmpwasm-ld: warning: function signature mismatch: VisualChangesProcessor_get_elementBuilder_m759F6B67F45FB60E9B1E4C646F26689258317B1E
>>> defined as () -> void in P:/Unity Project/Mine/Survivor Game 2.0/Library/Bee/artifacts/WebGL/il2cppOutput/build/GameAssembly.a(lsyvkdbleliz.o)
>>> defined as (i32, i32) -> i32 in lto.tmpwasm-ld: warning: function signature mismatch: Area__ctor_m6128DC659857264FD4FBF06C01E0C2F04EAA4105
>>> defined as () -> void in P:/Unity Project/Mine/Survivor Game 2.0/Library/Bee/artifacts/WebGL/il2cppOutput/build/GameAssembly.a(kkef0xumaj1j.o)
>>> defined as (i32, i32, i32) -> void in lto.tmpwasm-ld: warning: function signature mismatch: SingleQueryMatcher_IsInUse_mF17B2C22806E732E50055D4F6AC8A0E3ABEB4B99
>>> defined as () -> void in P:/Unity Project/Mine/Survivor Game 2.0/Library/Bee/artifacts/WebGL/il2cppOutput/build/GameAssembly.a(z4arkogp7up0.o)
>>> defined as (i32, i32) -> i32 in lto.tmp...

​ 最初认为是项目中部分插件不支持 WebGL 平台,倒腾一番后,又重装了 WebGL 打包模块,依然是同样的报错。

​ 解决方案:删除该项目下的 Library 文件夹,Unity 重新打开项目,没有报错。

image-20250106053758010

​ 分析原因:Library 中缓存的以前打包的结果,导致代码链接失败。

相关文章:

2025-01-06 Unity 使用 Tip2 —— Windows、Android、WebGL 打包记录

文章目录 1 Windows2 Android2.1 横版 / 竖版游戏2.2 API 最低版本2.3 目标帧率2.3.1 targetFrameRate2.3.2 vSyncCount2.3.3 Unity 默认设置以及推荐设置2.3.4 Unity 帧率托管 3 WebGL3.1 平台限制3.2 打包报错记录 13.3 打包报错记录 2 ​ 最近尝试将写的小游戏打包&#xff…...

OP-TEE环境飞腾密码引擎编程指南

【写在前面】 飞腾开发者平台是基于飞腾自身强大的技术基础和开放能力&#xff0c;聚合行业内优秀资源而打造的。该平台覆盖了操作系统、算法、数据库、安全、平台工具、虚拟化、存储、网络、固件等多个前沿技术领域&#xff0c;包含了应用使能套件、软件仓库、软件支持、软件适…...

解密Navicat密码(Java)

最近从Navicat换到了DBeaver&#xff0c;导出配置文件发现配置文件里的密码都是加密的&#xff0c;看网上的都是给的PHP代码&#xff0c;因为环境问题&#xff0c;就算是在线上运行的PHP代码也会报错&#xff0c;所以就把这段代码改成Java了。 package com.unicdata.system.con…...

apex安装

安装过程复杂曲折&#xff0c;网上说的很多办法&#xff0c;貌似成功了&#xff0c;实际还是没起作用。 先说成功过程&#xff0c;执行下面命令&#xff0c;安装成功&#xff08;当然&#xff0c;前提是你要先配置好编译环境&#xff09;&#xff1a; &#xff08;我的环境&a…...

常见的开源网络操作系统

常见的开源网络操作系统有很多,它们通常用于路由器、交换机、网络设备和服务器等场景,具有灵活、可定制、易于扩展的特点。以下是一些常见的开源网络操作系统: OpenWRT 用途:主要用于路由器、无线接入点和网络设备。提供了广泛的定制选项和高级功能,如防火墙配置、VPN 支持…...

2024年6月英语六级CET6听力原文与解析

目录 0 序言 1.Long Conversation(长对话) 1.1 Blender 搅拌机 1.2 村庄的改造变化 2.Passage 2.1 micro robots 微型机器人 2.2 elite sleeper 睡眠精英 3.Lecture 3.1 对自身观念变化的低察觉度及相关研究发现 3.2 美国母亲群体数量变化及母亲节消费趋势分析 3.3 …...

力扣2-回文数

一.题目 给你一个整数 x &#xff0c;如果 x 是一个回文整数&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 回文数是指正序&#xff08;从左向右&#xff09;和倒序&#xff08;从右向左&#xff09;读都是一样的整数。 例如&#xff0c;121 是回文&…...

基于springboot的网上商城购物系统

作者&#xff1a;学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等 文末获取“源码数据库万字文档PPT”&#xff0c;支持远程部署调试、运行安装。 目录 项目包含&#xff1a; 开发说明&#xff1a; 系统功能&#xff1a; 项目截图…...

业务日志设计

当一个项目足够大的时候&#xff0c;我们需要将统计系统完全独立出去&#xff0c;那么就无法避免数据采集的问题&#xff0c;我们可以在业务触发处增加log日志来记录当前变化的原始数据&#xff0c;提供统计系统进行采集 设计一个统计系统的日志记录机制时&#xff0c;主要需要…...

梯度下降方法

2.5 梯度下降方法介绍 学习目标 掌握梯度下降法的推导过程知道全梯度下降算法的原理知道随机梯度下降算法的原理知道随机平均梯度下降算法的原理知道小批量梯度下降算法的原理 上一节中给大家介绍了最基本的梯度下降法实现流程&#xff0c;本节我们将进一步介绍梯度下降法的详细…...

javascript

引入方式 JavaScript 程序不能独立运行&#xff0c;它需要被嵌入 HTML 中&#xff0c;然后浏览器才能执行 JavaScript 代码。通过 script 标签将 JavaScript 代码引入到 HTML 中&#xff0c;有两种方式&#xff1a; 内部方式 通过 script 标签包裹 JavaScript 代码 <!DO…...

大语言模型训练所需的最低显存,联邦大语言模型训练的传输优化技术

联邦大语言模型训练的传输优化技术 目录 联邦大语言模型训练的传输优化技术大语言模型训练所需的最低显存大语言模型训练所需的最低显存 基于模型微调、压缩和分布式并行处理的方法,介绍了相关开源模型及技术应用 核心创新点 多维度优化策略:综合运用基于模型微调、模型压缩和…...

二叉树的二叉链表和三叉链表

在二叉树的数据结构中&#xff0c;通常有两种链表存储方式&#xff1a;二叉链表和三叉链表。这里&#xff0c;我们先澄清一下概念&#xff0c;通常我们讨论的是二叉链表&#xff0c;它用于存储二叉树的节点。而“三叉链表”这个术语在二叉树的上下文中不常见&#xff0c;可能是…...

api开发如何在代码中使用京东商品详情接口的参数?

选择编程语言和相关工具 以 Python 为例&#xff0c;你可以使用requests库来发送 HTTP 请求获取接口数据。如果是 Java&#xff0c;可以使用OkHttp等库。 Python 示例 假设你已经安装了requests库&#xff0c;以下是一个简单的代码示例来获取和使用京东商品详情接口参数&#…...

Quartz如何实现分布式调度

系列文章目录 任务调度管理——Quartz入门 Quartz如何实现分布式控制 系列文章目录一、持久化二、分布式调度1. 表信息2. 调度器的竞争3. 触发器的分配 三、 总结 我们都说Quartz是个分布式调度框架&#xff0c;那么在分布式环境上&#xff0c;如何使得各个服务器上的定时任务…...

JUC--线程池

线程池 七、线程池7.1线程池的概述7.2线程池的构建与参数ThreadPoolExecutor 的构造方法核心参数线程池的工作原理 Executors构造方法newFixedThreadPoolnewCachedThreadPoolnewSingleThreadExecutornewScheduledThreadPool(int corePoolSize) 为什么不推荐使用内置线程池&…...

以柔资讯-D-Security终端文件保护系统 logFileName 任意文件读取漏洞复现

0x01 产品简介 D-Security终端文件保护系统是一套专注于企业文件管理效率与安全的解决方案,统对文件进行全文加密,而非仅在文件表头或特定部分进行加密,从而大大提高了文件的安全性,降低了被破解的风险。D-Security终端文件保护系统是被政府和国安局等情报单位唯一认定的安…...

【JavaScript】Set,Map,Weakmap

以下来源&#xff1a;九剑科技。 weakmap WeakMap是 ES6 中新增的一种集合类型&#xff0c;叫做“弱映射”&#xff0c;由于他的键引用的对象是弱引用&#xff0c;键所指向的对象可以被垃圾回收&#xff0c;可以防止内存泄露。 map ①Map是键值对的集合&#xff0c;键值不限…...

idea小操作

idea 所边定位到你目前阅读的代码 AltF1 或者 选择定位图标...

[tesseract]Deserialize header failed: FIRC.lstmf

tesseract5.0训练时候会提示 [INFO]cd /d D:\program\tesseract-ocr-lstm-train\data [INFO]D:\program\tesseract-ocr-lstm-train\Tesseract-OCR\tesseract.exe xiangjiao.tif xiangjiao -l eng --psm 7 lstm.train [INFO]Page 1 [INFO]Page 2 [INFO]Deserialize header fail…...

深度学习知识点:RNN

文章目录 1.简单介绍2.网络结构3.应对梯度消失 1.简单介绍 循环神经网络&#xff08;RNN&#xff0c;Recurrent Neural Network&#xff09;是一类用于处理序列数据的神经网络。与传统网络相比&#xff0c;变化不是特别大&#xff0c;不如CNN的变化那么大。 为什么要有循环神经…...

【数据可视化-11】全国大学数据可视化分析

&#x1f9d1; 博主简介&#xff1a;曾任某智慧城市类企业算法总监&#xff0c;目前在美国市场的物流公司从事高级算法工程师一职&#xff0c;深耕人工智能领域&#xff0c;精通python数据挖掘、可视化、机器学习等&#xff0c;发表过AI相关的专利并多次在AI类比赛中获奖。CSDN…...

CSS:背景样式、盒子模型与文本样式

背景样式 背景样式用于设置网页元素的背景&#xff0c;包括颜色、图片等。 背景颜色 使用 background-color 属性设置背景颜色&#xff0c;支持多种格式&#xff08;颜色英文、十六进制、RGB等&#xff09;。 div {background-color: lightblue; }格式示例十六进制#ff5733R…...

学英语学压测:02jmeter组件-测试计划和线程组ramp-up参数的作用

&#x1f4e2;&#x1f4e2;&#x1f4e2;&#xff1a;先看关键单词&#xff0c;再看英文&#xff0c;最后看中文总结&#xff0c;再回头看一遍英文原文&#xff0c;效果更佳&#xff01;&#xff01; 关键词 Functional Testing功能测试[ˈfʌŋkʃənəl ˈtɛstɪŋ]Sample样…...

环动科技平均售价波动下滑:大客户依赖明显,应收账款周转率骤降

《港湾商业观察》施子夫 2024年12月18日&#xff0c;浙江环动机器人关节科技股份有限公司&#xff08;以下简称&#xff0c;环动科技&#xff09;的上市审核状态变更为“已问询”&#xff0c;公司在11月25日科创板IPO获上交所受理&#xff0c;独家保荐机构为广发证券。 此次环…...

数据结构:LinkedList与链表—无头双向链表(二)

目录 一、什么是LinkedList&#xff1f; 二、LinkedList的模拟实现 1、display()方法 2、addFirst(int data)方法 3、addLast(int data)方法 4、addIndex(int index,int data)方法 5、contains(int key)方法 6、remove(int key)方法 7、removeAllKey(int key)方法 8、…...

『SQLite』解释执行(Explain)

摘要&#xff1a;本节主要讲解SQL的解释执行&#xff1a;Explain。 在 sqlite 语句之前&#xff0c;可以使用 “EXPLAIN” 关键字或 “EXPLAIN QUERY PLAN” 短语&#xff0c;用于描述表查询的细节。 基本语法 EXPLAIN 语法&#xff1a; EXPLAIN [SQLite Query]EXPLAIN QUER…...

计算机网络之---物理层的基本概念

物理层简介 物理层&#xff08;Physical Layer&#xff09; 是 OSI&#xff08;开放系统互联&#xff09;模型 中的第 1 层&#xff0c;它主要负责数据在物理媒介上的传输&#xff0c;确保原始比特&#xff08;0 和 1&#xff09;的传输不受干扰地从一个设备传送到另一个设备。…...

Elasticsearch:优化的标量量化 - 更好的二进制量化

作者&#xff1a;来自 Elastic Benjamin Trent 在这里&#xff0c;我们解释了 Elasticsearch 中的优化标量量化以及如何使用它来改进更好的二进制量化 (Better Binary Quantization - BBQ)。 我们的全新改进版二进制量化 (Better Binary Quantization - BBQ) 索引现在变得更强大…...

KBQA前沿技术

文章目录 KBQA面临的挑战基于模板的方法基于语义解析的方法基于深度学习的传统问答基于深度学习的端到端问答模型KBQA面临的挑战 目前还存在两个很大的困难阻碍着KBQA系统被广泛应用。一个困难是现有的自然语言理解技术在处理自然语言的歧义性和复杂性方面还显得比较薄弱。例如…...

patchwork++地面分割学习笔记

参考资料&#xff1a;古月居 - ROS机器人知识分享社区 https://zhuanlan.zhihu.com/p/644297447 patchwork算法一共包含四部分内容&#xff1a;提出了以下四个部分&#xff1a;RNR、RVPF、A-GLE 和 TGR。 1&#xff09;基于 3D LiDAR 反射模型的反射噪声消除 (RNR)&#xff…...

OSPF浅析

一、预习&#xff1a; 1、介绍&#xff1a; 是一种基于接口的典型的链路状态路由协议&#xff0c;协议号89&#xff0c;把大型网络分隔为多个较小、可管理的单元&#xff1a;Area&#xff0c;管理距离110&#xff1b;OSPF基于IP&#xff0c;使用了LSAck包来保证包数据的可靠性&…...

批量写入数据到数据库,卡顿怎么解决

在批量写入数据到数据库时,遇到卡顿或性能瓶颈是比较常见的问题。以下是一些可能的解决方案和优化策略,帮助你提高批量写入的性能: ### 1. **批量大小优化** - **调整批量大小**:尝试调整批量写入的数据量,找到一个平衡点。过大或过小的批量大小都可能影响性能。通常,批…...

Residency 与 Internship 的区别及用法解析

Residency 与 Internship 的区别及用法解析 在英文中&#xff0c;“residency” 和 “internship” 都与职业培训相关&#xff0c;但它们的使用场景和具体含义存在显著差异。本文将详细解析这两个词的区别&#xff0c;以及它们在不同语境下的应用。 Residency 的定义及使用场景…...

【数据结构-堆】力扣2530. 执行 K 次操作后的最大分数

给你一个下标从 0 开始的整数数组 nums 和一个整数 k 。你的 起始分数 为 0 。 在一步 操作 中&#xff1a; 选出一个满足 0 < i < nums.length 的下标 i &#xff0c; 将你的 分数 增加 nums[i] &#xff0c;并且 将 nums[i] 替换为 ceil(nums[i] / 3) 。 返回在 恰好…...

基于生成式对抗网络(GAN)的前沿研究与应用

引言 人工智能&#xff08;AI&#xff09;领域在过去几年中经历了快速的发展&#xff0c;尤其是深度学习的兴起带来了许多变革。其中&#xff0c;生成式对抗网络&#xff08;Generative Adversarial Network, GAN&#xff09;因其强大的生成能力成为了研究热点。自2014年Ian G…...

stm32 移植RTL8201F(正点原子例程为例)

最近在工作中需要使用RTL8201F&#xff0c;在网上找了很多帖子&#xff0c;没有找到合适的&#xff0c;自己翻资料移植了一个。 模板工程使用的是正点原子的f407探索版的例程&#xff0c;原子使用的是LAN8720,需要把他的驱动修改成为我们自己用的RTL8201F。 1.将PHY_TYPE改成我…...

QT-TCP-server

为了实现高性能的TCP通讯&#xff0c;以下是一个基于Qt的示例&#xff0c;展示如何利用多个线程、非阻塞I/O、数据分块和自定义协议进行优化。该示例以TCP服务器和客户端的形式展示&#xff0c;能够承受高负载并实现快速数据传输。 高性能TCP Server示例 #include <QTcpSe…...

第 24 章 网络请求与远程资源

第 24 章 网络请求与远程资源 24.1 XMLHttpRequest 对象 所有现代浏览器都通过 XMLHttpRequest 构造函数原生支持 XHR 对象&#xff1a; let xhr new XMLHttpRequest()24.1.1 使用 XHR 使用 XHR 对象首先要调用 open()方法&#xff0c;这个方法接收 3 个参数&#xff1a;请…...

k8s dashboard离线部署步骤

确定k8s版本&#xff0c;以1.23为例。 部署metrics-server服务&#xff0c;最好用v0.5.2。 用v0.6.0&#xff0c;可能会报以下错误&#xff1a; nodekubemaster:~/Desktop/metric$ kubectl top nodes Error from server (ServiceUnavailable): the server is currently unabl…...

热备份路由HSRP及配置案例

✍作者&#xff1a;柒烨带你飞 &#x1f4aa;格言&#xff1a;生活的情况越艰难&#xff0c;我越感到自己更坚强&#xff1b;我这个人走得很慢&#xff0c;但我从不后退。 &#x1f4dc;系列专栏&#xff1a;网路安全入门系列 目录 一&#xff0c;HSRP的相关概念二&#xff0c;…...

【文本分类】bert二分类

import os import torch from torch.utils.data import DataLoader, Dataset from transformers import BertTokenizer, BertForSequenceClassification, AdamW from sklearn.metrics import accuracy_score, classification_report from tqdm import tqdm# 自定义数据集 class…...

计算机网络 (30)多协议标签交换MPLS

前言 多协议标签交换&#xff08;Multi-Protocol Label Switching&#xff0c;MPLS&#xff09;是一种在开放的通信网上利用标签引导数据高速、高效传输的新技术。 一、基本概念 MPLS是一种第三代网络架构技术&#xff0c;旨在提供高速、可靠的IP骨干网络交换。它通过将IP地址映…...

【Springer斯普林格出版,Ei稳定,往届快速见刊检索】第四届电子信息工程、大数据与计算机技术国际学术会议(EIBDCT 2025)

第四届电子信息工程、大数据与计算机技术国际学术会议&#xff08;EIBDCT 2025&#xff09;将于2025年2月21-23日在中国青岛举行。该会议主要围绕电子信息工程、大数据、计算机技术等研究领域展开讨论。会议旨在为从事相关科研领域的专家学者、工程技术人员、技术研发人员提供一…...

C# 修改项目类型 应用程序程序改类库

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github&#xff1a;codetoys&#xff0c;所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的&#xff0c;可以在任何平台上使用。 源码指引&#xff1a;github源…...

[开源]自动化定位建图系统

系统状态机&#xff1a; 效果展示&#xff1a; 1、 机器人建图定位系统-基础重定位&#xff0c;定位功能演示 2、 机器人建图定位系统-增量地图构建&#xff0c;手动回环检测演示 3、… 开源链接&#xff1a; https://gitee.com/li-wenhao-lwh/lifelong-backend Qt人机交互…...

OSPF使能配置

OSPF路由协议是用于网际协议&#xff08;ip&#xff09;网络的链路状态的路由协议。该协议使用链路状态路由算法的内部网关协议&#xff08;IGP&#xff09;&#xff0c;在单一自治系统&#xff08;AS&#xff09;内部工作。适用于IPV4的OSPFv2协议定义于RFC 2328&#xff0c;R…...

ES_如何设置ElasticSearch 8.0版本的匿名访问以及https_http模式的互相切换

总结&#xff1a; 设置匿名访问&#xff0c;只需要设置xpack.security.authc.anonymous.username和xpack.security.authc.anonymous.roles参数就行&#xff0c;设置好后&#xff0c;可以匿名访问也可以非匿名访问&#xff0c;但是非匿名访问的情况下必须保证用户名和密码正确 取…...

web移动端UI框架

文章目录 Vant简介主要特点和功能适用场景和用户评价 Mint UI简介主要特点和功能 cube-ui简介特性 iView Weapp简介 uni-app简介 Vant 使用vue3版本官网&#xff1a;https://vant-ui.github.io/vant/#/zh-CN/ 适用vue2版本官网&#xff1a;https://vant-ui.github.io/vant/v2/…...

数据库高安全—角色权限:权限管理权限检查

目录 3.3 权限管理 3.4 权限检查 书接上文数据库高安全—角色权限&#xff1a;角色创建角色管理&#xff0c;从角色创建和角色管理两方面对高斯数据库的角色权限进行了介绍&#xff0c;本篇将从权限管理和权限检查方面继续解读高斯数据库的角色权限。 3.3 权限管理 &#x…...