Unity项目性能优化整理

1.Mono下减少foreach使用,频繁调用容易触及堆上限,导致GC过早触发,出现卡顿现象。尤其是Update中如果非必要不要使用foreach。会产生GC Alloc。2.频繁修改的string应使用StringBuilder。3.gameObject.tag会在内部循环调用对象分配的标签属性以及拷贝额外的内存,推荐使用gameObject.CompareTag(“xxx”)来代替.tag。4.贴图压缩:(1).能使用九宫格就不要使用大图。(2).可以上tinypng网站对原始图片进行压缩。
分类: 企业开发 发布时间: 05-09 22:03 阅读次数: 0

浅析export * from 与 export {default} from用法

浅析export * from 与 export {default} from用法
分类: 编程语言 发布时间: 05-09 22:03 阅读次数: 0

【youcans 的 OpenCV 例程200篇】173.SEEDS 超像素区域分割

超像素个体应在视觉上一致,特别是颜色应尽可能均匀。SLIC 使用欧几里德距离来度量像素点的相似度,不能反映颜色的方差。SEEDS 方法定义了一个基于超像素颜色分布直方图和超像素边界的形状的能量函数 E(s),使用爬山法最大化能量函数进行优化。
分类: 企业开发 发布时间: 05-09 22:03 阅读次数: 0

【youcans 的 OpenCV 例程200篇】174.LSC 超像素区域分割

线性谱聚类(Linear Spectral Clustering,LSC)是 SLIC 的改进方案,可以生成紧凑且均匀的超像素,将图像分割成大小均匀,边界光滑的小块。LSC 具有线性计算复杂性和高内存效率,并且能够保留图像的全局属性。OpenCV 在 ximgproc 模块提供了 **cv.ximgproc.createSuperpixelLSC** 函数实现 LSC 算法。
分类: 企业开发 发布时间: 05-09 22:03 阅读次数: 0

【youcans 的 OpenCV 例程200篇】175.超像素区域分割方法比较

超像素图像分割基于依赖于图像的颜色信息及空间关系信息,将图像分割为远超于目标个数、远小于像素数量的超像素块,达到尽可能保留图像中所有目标的边缘信息的目的,从而更好的辅助后续视觉任务(如目标检测、目标跟踪、语义分割等)。常用的超像素分割方法有:简单线性迭代聚类(Simple Linear Iterative Clustering,SLIC)、能量驱动采样(Super-pixels Extracted via Energy-Driven Sampling,SEEDS)和线性谱聚类(Linear Spectr
分类: 企业开发 发布时间: 05-09 22:03 阅读次数: 0

Python替换字符串中的多个字符

文章目录1. replace()2. sub()3. re.subn()4. translate() 和 maketrans()1. replace()我们可以使用 str 的 replace() 方法将子字符串替换成不同的输出。replace() 接受两个参数,第一个参数是你要匹配字符串的 regex 模式,第二个参数是匹配字符串的替换字符串。它在 replace() 中还有第三个可选参数,它接受一个整数,用来设置要执行的最大 count 替换次数。如果你把 2 作为 count 参数,repl
分类: 企业开发 发布时间: 05-09 22:03 阅读次数: 0

Python 计算之除法

文章目录1. 除法 /2. 四舍五入round()3. 浮点数取整int()4. 地板除 //5. 向上取整math.ceil()6. 取小数和整数部分math.modf()1. 除法 /a,b = 95,20c = a/bprint('a=',a,'b=',b,'c=',c)运行结果:a= 95 b= 20 c= 4.752. 四舍五入round()round()的第2个位置参数表示取小数点后的保留位数,缺省值为0:a,b = 95,20c = round(a/b)print(
分类: 企业开发 发布时间: 05-09 22:03 阅读次数: 0

Uncaught Error: Provide the “history“ option when calling “createRouter()“

vue3项目中控制台报了这个错误原因:在router文件里面没有定义historyimport { createRouter } from 'vue-router';const router = createRouter({ routes,});改为import { createRouter , createWebHashHistory } from 'vue-router';const router = createRouter({ history:createWebHas
分类: 编程语言 发布时间: 05-09 22:03 阅读次数: 0

antdvue的表格去掉分页

antd-design-vue的表格是自带分页器的,如何去掉呢 <a-table :columns="columns" :data-source="data" :pagination="false" //去除自带分页器 />
分类: 编程语言 发布时间: 05-09 22:03 阅读次数: 0

databinding 与 RecyclerView.Adapter

打开他 buildFeatures { viewBinding true }布局是这样的<?xml version="1.0" encoding="utf-8"?><androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://sc.
分类: 移动开发 发布时间: 05-09 22:03 阅读次数: 0

csdn 文章批量转换markdown格式下载至本地

文章目录1. 背景2.功能3. 下载4. 配置5. 代码5. 演示6. 技术7. 参考1. 背景最近准备搭建新博客,所以想把所有csdn的文章下载下来,但实在太多,不可能一篇一篇去导出,所以写了一个批量导出脚本,尽管csdn的在线编辑、发布、专栏、自定义模块、模板等比较成熟,但实在没有一点美感,这一点令人比较失望,一开始我比较在意在线编辑速度快,笔记更新方便,检索也还算可以,前几天阿里云开发者社区、infoQ中国社区运营人员相继邀请我去他们平台发布文章,但我更想尝试本地利用Obsidian工具编写笔记
分类: 企业开发 发布时间: 05-09 22:03 阅读次数: 0

vite.config.js配置@

使用vue3+vite搭建了一个新项目,这里需要配置一下@import { defineConfig } from 'vite'import vue from '@vitejs/plugin-vue'import path from 'path' //这个要引入// https://vitejs.dev/config/export default defineConfig({ plugins: [vue()], //新增加的 resolve:{ alias:{ '@
分类: 编程语言 发布时间: 05-09 22:03 阅读次数: 0

单独给axios设置请求头

有个请求需要单独设置请求头,又不能影响其他接口的请求头,需要单独设置const res = await axios({ method:"get", url:"http://xxx/api/recognition/getImageBaseByUser", data:param, headers:{ "tenant-id":1, "Authorization":1 }})console.log(res)...
分类: 编程语言 发布时间: 05-09 22:03 阅读次数: 0

jekyll 原理

文章目录1. jekyll new2. jekyll build3. 自定义开发配置4. Jekyll serve5. 目录结构1. jekyll newjekyll new <PATH>在指定的路径(相对于当前目录)安装一个新的Jekyll站点。 在上面列出的命令行的情况下,Jekyll将被安装在当前目录下的名为myblog的目录中。这里有一些额外的细节:要将Jekyll站点安装到你当前所在的目录中,请运行jekyll new .。 如果现有的目录不是空的,你可以使用jekyll n
分类: 企业开发 发布时间: 05-09 22:03 阅读次数: 0

Android Studio 崩溃一闪而过抓不到日志

过滤上包名 就可以看到了
分类: 移动开发 发布时间: 05-09 22:03 阅读次数: 0

android studio viewBinding 老爆红

android 节点下新增 sourceSets { debug { java.srcDirs = ['src/main/java', 'build/generated/data_binding_base_class_source_out/debug/out'] } }
分类: 移动开发 发布时间: 05-09 22:03 阅读次数: 0

PHP laravel 返回空对象 {}

SomeTimes我们需要一个空的对象数据{}而不是一个[] 或者是一个 "{}"如何操作呢答案是$data = new \stdClass();判断数据是否为空。为空就使用laravel if ($message == '') { $message = MessageData::Ok; } if (count($data) == 0) { $data = new \s.
分类: 移动开发 发布时间: 05-09 22:03 阅读次数: 0

Android Recycer 流式布局

Android开发之RecyclerView实现流式布局_安果移不动的博客-CSDN博客以前写过一篇但是没有用到Kotlin。dataBinding。设置不可以点击等新技术。这次重新来写一篇更加完善。效果图adapter布局<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" .
分类: 移动开发 发布时间: 05-09 22:03 阅读次数: 0

Android10 分享微信提示获取资源失败

在大于android7的版本下我们要如此设置 val fileUri = FileProvider.getUriForFile( context, context.getPackageName().toString() + ".fileprovider", file )但是。。随着版本迭代。android10来了把Target升级到30以后。微信分享就报错了。需要添加这句话 val fileUri = FileP
分类: 移动开发 发布时间: 05-09 22:03 阅读次数: 0

Android 记录build打包的时间并显示到手机上面

app、的build.gradle中添加如下代码private static String getBuildTime() { DateTimeFormatter dtf = DateTimeFormatter.ofPattern("EEEE d MMMM yyyy HH:mm:ss") LocalDateTime now = LocalDateTime.now() String dateTime = dtf.format(now) return "\"${dateTim
分类: 移动开发 发布时间: 05-09 22:03 阅读次数: 0