7.6k 7 分钟

# 前言 之前本来是跟 开发一个批量图片处理工具 写一块的,用于记录使用 WPF 开发那个工具时,过程中碰到的各种问题,后来发现越记录越多,还是新开一个文档记录了。 # 问题记录 说实话,UI 问题反而是最多的 # 枚举文件 使用 Directory.EnumerateFiles 比 Directory.GetFiles 更好,包括内存及可开始处理的时间,因为前者通过迭代器返回,后者必须一次性全部搜集完成才能返回值。 例如目录下有 1000...
5.6k 5 分钟

# 前言 真的是... 前几天我才换成 Shoka 主题,这随机的图片功能还没体验两天呢,前天突然发现这 API 就挂了... 真是有点一波三折的意思。 目前的情况是,本地调试可以,但一旦发布,那边直接就阻止访问了 —— 本地右键 -> 转到 直接取访问一样会被 403 阻止,如图所示: 不信点一点:我也忘了这是哪张图了 估计被整了域名白名单之类的东西。 Shoka 随机图片的 API 使用的是 Gimhoy 提供的图床,实际上依赖于 Sina 的服务器,而且 —— 这个功能貌似是开发者自己开发的,听说是依赖于新浪微博的相册啥功能弄的,网上搜索了一下 ——...
5.9k 5 分钟

# 前言 之前分别整理了 图片 和 音效 相关设置与影响,接下来应该轮到模型了。 理论上来说应该先写一篇关于 Mesh 各个设置详细功能、影响相关的,不过写了一下,方向感觉就变成 合批、优化 这块去了,于是本篇文章直接就先整理一下这一块。 首先,我们都知道由于 CPU 和 GPU 是两个不同的执行对象,所以一般问题都出在两者『数据交换』,由于 GPU 并行结构设计,通常情况都是 GPU 等待 CPU,而 CPU 干事情得一件件做,渲染一个对象就要先把一个对象的属性 (切换材质、切换贴图、设置材质属性等) 准备好,然后通知 GPU 渲染该对象,这中间通常就存在空挡。 CPU...
1.6k 1 分钟

第一天 (2022 年 12 月 19 日 周一): 咳嗽的同事们陆续返工,暂无明显症状,只是比较想喝水 —— 吃饭时也是暴露的情况。心跳较快。 第二天 (2022 年 12 月 20 日 周二): 办公室咳嗽声感觉更多了,也比较想喝水 —— 吃饭时也是暴露的情况。晚餐直接带回家吃的,不过感觉胃口相对没那么好了,回家后还感觉喉咙有点不舒,不过还没有更明显的症状。心跳较快。 第三天 (2022 年 12 月 21 日 周三): 早上起来感觉喉咙症状比较明显,8 点去医院做了一次核酸,由于有工作没处理完还是去上班了,中午把盒饭拿到走廊上出去吃的,下午开始感觉头晕,脑袋胀痛。晚餐带回家吃 ——...
2.3k 2 分钟

# Native Mamery Unity 如何分配内存? New/Malloc: 一个是函数一个是操作符,原理上讲 操作符 快于 函数 分配失败 New 会抛出 Exception,Malloc 返回 null Malloc 实现都类似,New 各有不同 例如构造函数,New/Delete 会调用对象的 构造函数 / 析构函数 以完成对象的 构造 / 析构。而 Malloc/Free 则不会 但是 New 并不代表是 Malloc + 构造函数 New 内存分配于 FreeStore (自由存储区【C++ 基于 new 操作符的一个抽象概念】),Malloc 会分配于 Heap...
3.1k 3 分钟

# 什么是内存? # 物理内存 # CPU 访问内存: CPU 访问内存是一个慢速的过程 CPU 想要访问一块内存时,并不是立即走系统总线访问内存,而是先向 L1、L2、L3 Cache 查询。当三个 Cache 全部 Miss 以后,才会去主内存中拿一段连续的指令回到 Cache。当下一次需要的时候,依然是先向 Cache 查询。 这样如果我们的内存、指令不是连续的,就会导致大量内存到 Cache 的交换,浪费大量时间在内存读取上 (CPU 上 Cahce 的核心面积一般占用都是很大的) (Unity ECS DOTS 就是为了优化这一点,将数据组建为连续内存块,以期减少 Cache...
3.5k 3 分钟

# 前言 后续又发现两个问题: 当整个页面内容高度不足,往下拖动时页面底部会闪烁回弹 页面百分比进度显示不大准确 # 标签页回弹问题 回家预览了下,发现页面内容高度不足会有显示问题,例如标签页会变得比较鬼畜:页面无法拉到底,底部的评论及网站底部一闪一闪的: 调试了一下,找到了 global.js 中的 scrollHandle 方法中计算导致的。 它会为 sidebar 增加一个 affix 的 class,存在时会显示页面下方的元素,否则就会隐藏。 <div id="sidebar" class="affix"...
10k 9 分钟

# 前言 怎么说呢... 一开始根本没想花这么多时间去换主题的。 一开始我只是单纯想给老主题 anodyne 加一个『目录』的功能罢了... 看到一个 hexo-theme-particlex ,感觉不错。 又看到一个 hexo-theme-shoka,感觉也挺可以,Shoka 主题记得一开始是看的 再看一个 hexo-theme-icarus,感觉也不错啊 (✧◡✧)。 一顿操作后,越看越觉得自己的主题太简洁了。 对比了下几个主题,icarus 也是简洁风。而 Particlex 和 Shoka 都差不多类似类型,一开始想换成 Particlex。不过 Particlex...
1.7k 2 分钟

# 前言 不知道哪里的想法,想给文章加个目录,方便预览:可能因为 anodyne 主题本身的排版显示,让人有点分不清标题子级?(指一级标题、二级标题这种) 于是想找一个有目录的主题看看,能不能参考下:于是就开始搜索 『Hexo 主题』 # 研究 # 目录跟随效果 开始吭吭哧哧改自己的老主题,用 toc 加上目录后,感觉目录应该根据页面滑动而浮动,但是由于目录处于整个右侧界面的子级,现在的需求是: widget 不能动,只有当页面滑动超出 toc 起始范围时,仅 toc 跟随页面滑动 基本表现如下: 现在的大概结构如下: <div...
4.7k 4 分钟

# 前言 关于协变和逆变,早在前些日子就在想整理一下了,不过由于前几天研究了下 Unity 的阴影与光照烘焙 ,所以一直放在心上却没有实施,都忘了之前是准备想怎么写开头了... 也忘了作笔记,只能现在重新想一想。 逆变 和 协变其实是对面向对象的一个补充,在 C# 中通过 in 标识逆变,out 标识 协变,如果没有标识,那么默认就是 『不变』。 之前想思考了好些天了,感觉有些地方还是有点没想透彻,这次整理的同时进行更多的试验,确定自己的想法对不对。 # 描述 变体仅针对引用类型,且只有 数组 (隐式协变)、泛型委托、泛型接口...