自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

思重的专栏

修身齐家治国平代码

  • 博客(90)
  • 收藏
  • 关注

原创 为啥修改键或值是结构体的字典不生效(C#)

很多时候我们了解结构体是值类型,但还是可能会掉到值类型的坑里面。比如:修改Value是结构体的字典不会生效?结构体定义public struct FPTimer{ ...}错误使用如下:Reset修改的值不会存回到字典内的timer。修改的只能拷贝出来的timerFPTimer timer; // a copyif(dic.TryGetValue(key, out timer))...

2019-10-28 17:14:48 794

原创 程序变色方案

有时候我们希望数值能非常直观的表示出来。当前一个值能以一定范围分布,且符合线性分布或者折线分布时,我们可以使用颜色渐变实现表示效果。比如地图的等高线、地域上的等温线等等。经典变色方案如:红-黄-绿-红黄绿r110g011 color.g = System.Math.Min(1, value / averageValue); color.r ...

2019-10-27 17:57:12 406

原创 浮点数运算的问题-显示帧率为什么明显跳动,不平滑

你的显示帧率为什么明显跳动,不平滑错误用例void Update(){ ++frameCount; var fps = 1 / Time.deltaTime; // 除法,每帧都在产生误差;尤其在某些机器浮点精度不够的情况下 total += fps; if(frameCount > MaxCount) { var FPS = t...

2019-10-27 17:39:57 540

原创 Unity中UGUI的最佳实践(优化经验)

基本原则 减少GameObject数量 减少GameObject上挂的组件数量 减少元素变动带来的消耗 减少依赖资源的数量及大小 减少常驻元素的每帧开销 预计算以少量储空间换高消耗的时间 延后处理,以很小的计算量换大量存储空间 UGUI制作最佳实践(具体项目具体分析)实现无需渲染的事件接收组件。用其代替空的Image 减少UGUI无用的且需要渲染(Image/...

2019-09-03 11:36:11 1079

原创 SVN迁移-快速重用再有svn本地文件

一般来说,svn地址变化,包括切分支,每次都重新download非常废时间。尤其大工程。1、我的做法一般是:主干一套,分支一套。当摒弃旧分支创建新分支时。把原本地分支switch到新分支上。这样就OK了。2、有时候,svn服务器迁移,如:一台机迁到另一台机器。如果是Visual SVN,我们可以直接拷贝原Visual SVN的数据文件,到新机器。原来的工程是可以直接使用的。此时就需要使用svn...

2019-05-05 15:25:17 1059

原创 Lua性能测试-全局变量和函数与局部变量和函数的性能

运行效率:本地变量 * 4 ≈ 全局变量 * 3 ≈ 本地函数 * 2 ≈ 全局函数。测试数据:4/5/9/12 local a = 0 local b = 0 local function CheckFun() return false end rawset(_G, "CheckFunTest", CheckFun) rawse...

2019-04-30 17:00:14 944

原创 加密资源效率问题总结

数据大小在300K这个值附近时,DES和AES两种方式解密所需要的时间差别很小了;编辑器50次 ±0.01s在小于这个值时使用DES方式更快大于这个值时使用AES方式更快为了让Lua里可以加解密。对于配置表使用两段密钥迭代异或方法加密这里只提供一种思路,可能不同的机器有一些差别。...

2018-08-14 21:07:36 640

原创 使用Python 3.x开发Unity自动化打包工具

首先让明确下分工:什么工作给python做、什么工作给C#做?如果要做一个通用的工具,就必须在通用和不通用之间做一个平衡!**我的初衷是要开发一个比较通用、可扩展性好的自动化打包工具。**...

2018-08-14 18:43:53 2053 2

原创 在Python 3.x中遇到的问题

除了api变更之外 还有一个比较隐式的变更,即文档默认使用Unicode编编码字符串而文档的起始位置还得标上:# coding=utf-8否则mac机器上可能中文报错windows下编辑python 推荐使用 PyCharm ,这软件格式检验比较严格。另一个遇到的问题是使用管道读其它程序的标准输出时,格式解释出的问题。由于不知道对方什么方式编码的字符串,最后decod...

2018-08-14 18:26:58 188

原创 Unity中使用的几种缓存方式

要减少GC就要减少堆内存分配的频繁度和减少内存分配的大小。一般性我们用得多的也就是各种池处理和缓存字典。我自己总结在Unity里用到缓存的地方:Class pool:网络PB类等List pool:各种中间列表,用完即删的ListUnity game object pool:缓存各种游戏中的Object、减少Instance次数,如名字板、血条、当前场景怪Class inter...

2018-08-14 17:32:31 7370

原创 关于UI管理需要满足的一些常用需求

常见的界面需求ui分组及堆栈式管理音效子界面(界面内容太多,动态载入)ui界面和ui列表等子物件界面自动深度排序刘海屏小红点(树型结构)打开动画(K帧?)Layer - 可触摸事件 - 可视相机(指引、剧情)所有界面可热更(Loading?)特效(层级关系)自动生成object关联的lua代码额外效果1、毛玻璃效果 2、共用背景 3、通用模板 4、事件 ...

2018-08-14 17:03:03 860

原创 IOS ReplayKit 的坑

对IOS9.x支持不友好,开关来回多点几次就卡死进程了。最好的办法是对IOS系统版本进行检测,对于低版本不支持ReplayKit功能得到IOS系统版本号的代码:sealed class OSVersionCode:Singleton<OSVersionCode> { public OSVersionCode() { string sVer ...

2018-08-14 16:07:07 1803

原创 IOS ReplayKit Black Screen BUG

IOS new feature bug:解决办法:9.3以下版本不开3dtouch, 10.1以下的不开ReplayKit环境:Unity3D 5.5.4 自带ReplayKit接口BUG:ReplayKit 黑屏bug(不是录的内容黑,而是录后一预览,整个app黑了)复现步骤:StartRecorder -> StopRecorder -> Preview [若干次后必现]P

2017-11-15 17:07:55 676

原创 Unity3D从Android里拿包名(Bundle Identifier)

how to get bundle identifier in unity run-time on android platform.

2017-03-30 19:21:09 8371 1

原创 Unity事件管理类,用于不同对象之间传递消息

这个类在写完后,测试的过程中遇到过异常(界面类已经销毁,但回调还能执行的BUG!)。当然后面修复了,就是“if“后面一串“||”。这个类可以再扩展一点,不使用字符串做键值。using System;using System.Collections.Generic;// Editor: [email protected] delegate void UIE

2017-03-11 14:19:09 1053

原创 封装PlayerPrefs

可以做初始值,存储本地,用起来真方便呀,真方便!(被值当然,还可以从配置表里面读取)把这段代码封装在单例里,也是不算的 private string setting_autostate_autouse = "setting_autostate_autouse"; public bool Setting_autostate_autouse{ get { if (

2017-03-11 14:07:54 602

转载 Unity比较好用的单例模式

// 在网上找的,吧啦吧啦改改,造福Unity程序员using UnityEngine;public class SingletonMono : MonoBehaviour where T : MonoBehaviour{ private static T _instance; private static object _lock = new object();

2017-03-11 14:00:46 780 1

原创 网络游戏的粗略模块划分

网络游戏和一般网络客户端程序在模块的划分上面很相似。相似点:都要显示一些东西;都要存储一些用户的进度和配置修改;都要和服务器校验交互一些数据等;不同点:一般的可视点上,作为游戏需要非常强的趣味性、操作的可重复性高、反馈应该及时和显示的内容比较丰富(一般CPU使用率高)、特效更加炫丽等;大多数在线游戏存储上,由于使用资源多,占用内存高,为了解决这些问题,都需要有专门的资源管理机制(当然在

2017-03-11 13:04:38 2485

原创 SVN版本控制的若干问题

windows下使用virsual svn server【必须写Log】编辑Hooks/Pre-commit hook。但可能有不遵守规则的人随便乱写东西。注:errorlevel是运行的程序的返回值,这里可以脑洞大开,可以做的事很多!!!【重新编辑SVN Log】提交后可以重新编辑提交日志,Hooks/Pre-revision property hook。用分支管理阶段性...

2016-08-19 16:22:43 620

原创 Unity3D主程修炼之路

2D程序层次化,平面移动。相对于3D,相机控制简单,动画制作容易(如果不是骨骼动画,资源量比3D大)。游戏角色使用角色状态控制器,参考《游戏人工智能编程案例精粹》。把握好颗粒度。游戏开发中,图片质量,Shader效果,动画动作的优雅连贯和节奏快慢,要把控好。UI界面的栈式管理,自适应,Ticker变化效果,体验上值得做好底层网络,单机同步,文件更新和热更新,基本程序属性美术风格

2015-09-12 12:46:42 3964

原创 Unity3d代码从Android/IOS迁移到WindowsPhone经验笔记

【1搭建坏境】推荐:Windows 8.1 Enterprise + Visual studio 2013(完整安装)PS: 如果要Visual Studio 2012,先安装VS再安装WP8/WP8.1 SDK.Microsoft URL: http://msdn.itellyou.cn/【2已经发现的常见不兼容库 16:24 2015/7/3 】1. sharp z

2015-07-03 16:25:40 3675

原创 Unity3D IL2CPP编译环境下的Bug

最近更新到最新版本Unity3D,使用IL2CPP发布64位IOS应用的时候发现了这个问题。它导致我原来加密的文件解压不出来了,查了一天,修正了。1. 在github下载zip的原码,https://codeload.github.com/0xd4d/de4dot/zip/master2. 直接放在unity3d工程下,编译的时候,编译器会直接覆盖系统自带的zip。3. 修改源

2015-02-09 10:26:25 8142 3

原创 Unity优化内存笔记

项目后期内存吃紧,这种活总是非常艰难的,大家都不愿意做这种吃力不讨好的事~~~面对此问题,虽然我也不太喜欢做,但相比写界面修改界面来说,我还是有解决这种问题的耐力和能力!以上属于瞎扯。。。使用Profiler仔细查看分析成份 和 代码分析 后得到以下信息 。1. 查到Login界面的音频登陆后没有把资源卸载。2.2M2. 原来想统一使用自己的字体,现在已经不用了

2014-11-07 19:41:33 1048

原创 Unity NGUI 使用经验

在.NET下使用了约2个月的Unity NGUI后,感觉.NET cs用起来还比较容易上手,Unity 2D项目中使用NGUI也非常好用。其丰富的库支持,让愿意花时间的人一学就会用,比如我们用得比较多的,iTween/EasyTouch/FxMaker/UnityVS等。尤其UnityVS让原来使用VS习惯的人,用起来那叫一个爽!费话不多说了,下面说说我们以开发过程中解决的一些问题和关

2014-10-14 13:19:09 1298

原创 技术搜索记录集1

Centos1. 安装FTP: yum -y install vsftpdtouch /etc/vsftpd/chroot_listchkconfig vsftpd on

2014-07-17 17:09:49 710

原创 大用户程序开发过程中遇到和解决的一些问题集

对于编程这门精细活,细节往往决定成败。下面是我在开发某个大型网络游戏中遇到的一些现象、问题及解决方法,总结一下,分享给大家~~1. 利用map cod文件精确定位报错位置,前提是,要能提供对应的堆栈信息;次点的方法,知道那个catch到错误后,在try前加一个变量,在try里不同的代码行前修改成不同的值,这样子,在catch里可以把它记录到相应日志,或者提示。2. netstat信息可以通

2014-04-24 11:44:43 792

原创 Windows系统极限-程序可使用资源的限制

最近,收到的log消息显示:XP系统的限制明显比WIN7多。很多在WIN7下没有问题的程序在XP下报错了。于是就有了下文......1. WriteFile. Windows Server 2003 and Windows XP:  Pipe write operations across a network are limited in size per write. The a

2014-04-01 18:43:57 2762

原创 Windows实用API使用集合

记录下自己用过的Windows API1. File opt: CreateFile/DeleteFile/CopyFile/FindFirstFile-FindNextFile/WriteFile/ReadFile2. Sys info: GetDiskFreeSpace/GetSystemInfo/GetDriveType3. INI file: GetPrivatePro

2014-04-01 13:17:22 654

原创 socket 10053 错误之路

最近,一个项目老掉线。。。。WSAGetLastError有大概如下几种:10053 50%、10054 30%、10055 10%、else %10。还有没有记录的掉线信息。10053 - 查到的原因:服务端关闭了socket,而客户端还在发送数据、and 没查出来的原因。10054 - 网络原因:上行网络拥堵、或者任何一向发送RST消息。10055 - 系统so

2014-01-22 23:13:38 8186 1

原创 基于泛型类模块,使类成员函数作为回调函数

1. FuncCache 此类用于存放,类和函数信息。关键在于对函数参数的处理,写得妙。因为,类中类的成员,在使用后自动销毁,可以使得函数可以反复调用。 类成员buffer,相当于一个栈,可用于在放任何数据(如:类指针、函数指针、参数指针)。 类成员func,存放MFuncCall_1的静态成员函数。为什么不把这个静函数直接作为成员函数?因为可以用这个函数作为接口,方便用户自定义!

2013-09-05 00:10:28 892

原创 MFC网页访问的实现示例

使用MFC对话框,实现对http数据的访问。示例使用了CInternetSession建立连接,使用CHttpFile读取内容!实现需要包含头文件:afxinet.h

2013-08-19 17:46:53 1972

原创 win7访问xp共享访问不了

这个问题不是一天两天了,经历几次了,所以记下来。1. 一些XP对用户权限作了特殊的优化设置。限制了只有guest用户才能用于做局域网共享用户。2. 大多数时候,需要设置一个密码,才能用于访问。3. 其它,如IP需要同网段什么的,防火墙要关掉。PS: 百度上搜出来一大堆坑人的结果,什么改secpol.msc、什么JB玩意儿!!!

2013-07-27 23:46:17 958

原创 MFC 界面编程 可参考资料

http://www.codeproject.com/Articles/26887/A-user-draw-button-that-supports-PNG-files-with-trhttp://www.codeproject.com/Articles/27819/Style-Toolkit-Use-advanced-graphics-techniques-tohttp://www.co

2013-07-27 23:46:15 631

原创 VS2008/VS2010工程大量使用的细节问题汇总

1. vs2008 中使用 #include 这个文件不会在当前目录下搜索。 如:把123.cpp和123.h放在工程目录下,在123.cpp里使用些语句包含123.h,会提示找不到该文件。需要手动在当前工程-属性-c/c++-包含目录,添加包含目录。2. 为了使开发出来的程序具有良好的兼容性,需要修改targetver.h文件。#pragma once#ifndef WINVER

2013-07-27 23:46:12 1011

原创 免费FTP服务器之server&client

笔者今天搭建一支持IPv6的FTP服务器。有免费的当然要用咯,找到如下三用起来还不错的小软件。【xlight】这是个比较简单的软件,分别提供server&client。不过客户端我在测试的时候用不了,但服务器端到是可以用。还有,这是半免费的软件。就是。。。看官网吧!!!30天是专业版,30天后是个人版,除非花钱买咯。【filezilla】filezilla用起来比较好使,功

2013-07-27 23:46:10 1077

原创 C++fstream文件流处理对中文字符不支持的解决办法

今天由于要写代码规总,提交文档。由于文件太多一个个复制觉得麻烦,就想着自己写一个程序完成这项任务。  任务目标:就是把指定文件夹里的所有简单文档的内容全部写入到一个文档内!!!【以下内容转自:我住包子山 让VS2005中的fstream支持中文路径文件打开 】  前几天发了这篇《用fstream对二进制文件的读写》,有朋友指出了VS2005的fstream对于中文路径支持不好的bug。

2013-07-27 23:46:08 1459

原创 error LNK2019: 无法解析的外部符号

今天由于修改以前的代码,把宏定义成了if-else结构的控制结构。修改完成后一编译,出问题了:error LNK2019: 无法解析的外部符号  编译没有问题,生成时出现问题,但没有给出明确的解释。只说了class中一个回调函数(可能是任何一个函数)无法解释,并说这个函数在哪个地方调用的。但这个函数检查了很久没没看出问题来。后来网上找。。。。link 的问题太多了,五花八门。  不过好像看

2013-07-27 23:46:06 869

原创 VS不能设置断点

这几天团队开发,出现一个奇怪的现象。更新代码后,编译调试居然不能够设置断点。编码的人都知道,调试程序不能设置断点是一件多么大的事情!!!  在网上搜了很多,有说这样或那样的。在这里结合自己的经验总结一下。  1. 可以清理解决方案,或删除不必要的文件后,重新编译可以解决问题的。  2. 重新排版(ctrl+A, ctrl+K, ctrl+F),再生成可以解决问题的。  3. 保证头文件和对

2013-07-27 23:46:03 749

原创 Mutex与Event控制互斥事件的使用详解

最近写一程序,误用了Mutex的功能,错把Mutex当Event用了。【Mutex】  使用Mutex的主要函数:CreateMutex、ReleaseMutex、OpenMutex、WaitForSingleObject、WaitForMultipleObjects。  CreateMutex:其中第二个参数是表示当前线程拥有权。    TRUE:创建线程获得初始所有权的互斥对象(即

2013-07-27 23:46:01 1002

原创 VS缓冲区溢出,未对变量进行检查

最近写的比较少了。。。  这次遇到这个问题比较棘手,这个问题很奇怪,只在release下有问题,而debug下没有问题,找了好几天没找到问题所在。  结果慢慢的缩小范围,发现只要不调用 一个特定 函数就不会出问题。检查后发现这个函数没有什么问题,事实上这个函数并不是出问题的地方,而是调用它引起的一个消息响应函数的调用,而这个消息响应函数是从人家开发封装好的dll内传出来的。  因此,问题就是这

2013-07-27 23:45:59 1611

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除