归档: 2020/4

对比 Rust 和 Python 图片缩放速度

写博客时经常会用到 tinypng 这个网站进行图片压缩,所以今天就想用 Rust 试一下关于图片处理的东西。首先对比了一个 Rust 和 Python 的缩放速度,Rust 使用了 image-rs,Python 使用了 Image 中的 PIL,速度结果如下图。 原图是一张 2.9M,4800x2500 的图片,缩小为 500x260。电脑CPU型号是 Intel(R) Core(TM) i5

游戏项目资源管理

在游戏开发的过程中,整个项目的资源管理是很重要的一部分。涉及到与美术、策划等同事的协作,以及资源的打包,和后续运行时资源的更新,加载,卸载,内存管理等方面。规划好资源的的各个目录存放,以及资源的分类,会为后续的开发工作节省不少时间。这一篇博客主要来聊一下到资源的存放问题,而 AssetBundle 打包,以及运行时的更新和资源管理,将在后面的博客中详细说明。 资源类型一个游戏项目,涉及到的资源主要

Rust 基础 | 常用集合数据类型

之前用到的 String 类型,并没有那么简单,接下来会聊一下关于 String 更多的一些应用。在说 String 前,需要先学习一下 Vec 这种数据类型,类似于一个动态的数组。然后是 HashMap,一个键对值的数据类型,与其他编程语言中的字典很类似。 VecVec<T> 和数组一样,用于存储一系列相同类型的值。但是 Vec 可以动态地插入,删除。首先,是创建一个 Vec,可以使

nginx 配置 https 及重定向

将博客放在自己的VPS上,免不了配置 nginx 及 https,如果不配置 https,浏览器上**不安全**那三个字,实在是太刺眼。所以这篇博客,将记录整个折腾过程。 nginx 的安装 https 的证书配置 http 重定向到 https www 重定向到非不带 www 的域名 接下来的操作,都是在 Ubuntu 18.04 版本上进行的。 域名解析的配置首先要先自己的域名解析到自己的

Rust 基础 | 枚举、匹配

这篇博客涉及到的知识点有 枚举的定义、Option 枚举、match 语法、if let 语法。 枚举的定义Rust 中定义一个枚举,使用关键字 enum,看下面的代码 123456789101112131415// 定义一个NPC类型枚举enum NPCType { TalkNPC, WalkNPC, BattleNPC, TaskNPC,}enum

Rust 基础 | 结构体

在有类的编程语言中,组织数据的方式可以定义一个类,而在 Rust 中,组织数据的方式,使用 struct。struct 可以定义三种不同的类型,一种是带有字段名字的结构体,一种是没有字段名字的元组结构体,一种是没有任何字段的单元结构体。 定义 struct带有字段名字的结构体 12345678910111213141516#[derive(Debug)]struct User {

Rust 基础 | 引用、切片

在阅读Rust官方教程时,会看到两个词,引用和借用,也就是 References and Borrowing。这里很容易让人混乱,如果了解C/C++这类有指针的语言,则引用很容易理解,但是 Rust 中的借用这个词是什么意思呢?我觉得,在初学 Rust 时,可以忽略这个词,或者就简单理解为,它所涉及到的东西,就是引用,就是一个指针,就可以了,避免陷入进去。所以,接下来我就就聊一聊引用。 什么是引用