游戏研发历程

Record of Game Research & Development

Python和C#对比学习系列——多线程使用

比较一下两种语言的语法和设计思想。 C#中的线程和任务 先说结论: 在C#中,任务Task是一个比线程Thread级别更高的概念 用一段代码看一下C#的多线程 using System.Threading; using System; namespace ThreadingDemo { class Program { static void M...

C#常用容器源码分析

泛型支持多类型,但需要指定类型,不用转换类型,不用装箱/拆箱操作,效率更高,使用范围广。 C# 官方源码地址 https://referencesource.microsoft.com/ C# 官方文档地址 https://docs.microsoft.com/en-us/dotnet/api/?view=netframework-4.8 根据源码的接口派生关系,可得到UM...

C#垃圾回收问题和分析

结合网上的案例,通过调试引发新的问题进行思考 以下测试代码基于这篇文章的基础上进行了修改 https://www.cnblogs.com/mq0036/p/3707257.html 一段测试代码 using System; namespace GCCollectIntExample { public class CountObject { pu...

Python和C#对比学习系列——构造函数及析构函数的对比

以及拓展单例的分析

Python和C#语法各有特色,笔者当前从自研引擎全面转向U3d的过程中,遇到很多C#和Python不一样的地方和概念,计划出一个对比系列,记录学习,也供python,C#双修党参考交流。 Python的构造和析构 # -*- coding: utf-8 -*- class PyCmpCSharp1: '''Python的构造和析构''' #构造方法 ...

Python大规模导表内存优化方法

浅析__slot__作用

动态语言可以在程序运行过程中动态给对象绑定新属性和新方法,但相比静态语言会消耗更多空间和性能,slot方法就是可以限时对象属性,从而优化空间的方法。在游戏行业的数据导表里就有应用。 先来看一下这个例子 限制只能用姓名和年龄两个属性,强行给对象加个身高的属性就会报错 class TestSlot(object): __slots__ = ('name', 'age') ...

微信小程序开发初探

培养实践能力,比做网站的成本低

灵感来源是很多人没有收拾房间的习惯,买来的衣服只进不出,放在衣柜里就忘记拿出来穿。 “衣橱满了”就是提醒这类人群别抱怨没衣服传了,有很多衣服可能只是被遗忘了。 于是希望开发一个app可以定制专属自己的在线衣柜,本质上虽然是个在线相册,但是可以拓展只能穿搭等后续功能呀。 2022年春节期间开发,已经上线。 扫一下二维码 看一下一级和二级界面 #todo 看一下对...

边玩GTA边学编程

拥有自己的宠物

很久没玩GTAV,发现GTAV的开放世界有超级多的玩法,正好最近又有养狗的冲动,发现有宠物mod,实现过程并不顺利,这里分享我是怎么不花一分钱养到宠物的。 你需要下载的资源: 动物方舟模组 https://zh.gta5-mods.com/scripts/animal-ark-shelter NativeUI,这个不要下载最新版 https://gtaforums.com...

iOS中深度学习部署方案实现

pytorch模型文件.pth转换为.mlmodel

深度学习部署到移动端除了苹果的MLCore,还有NCNN,MNN,这篇文章尝试用工具转换.pth模型到iOS适用的.mlmodel。 笔者希望将研究生阶段做的CGAN一直到ios端,由于是image segment,资料不是特别多,遇到许多坑,这里分享出来帮助大家排坑,共同学习。 pytorch to CoreML 这里不做太多介绍,直接看流程图 1. 保存pytroc...