cudaErrorCudartUnloading问题排查及建议方案

2019-10-12
阅读 12 分钟
7.3k
同样的库链接出来的可执行文件,有的会出现这种问题有的不会,一开始让我很自然以为是使用库的应用程序出了bug。排除了这种可能之后,这句话最后的cudaFreeHost又让我想当然地以为是个内存相关的问题,折腾了一阵后才发现方向又双叒叕错了。而且我发现,无论我在报错的那段代码前使用任何CUDA runtime API,都会出现这个...

ARM NEON编程初探——一个简单的BGR888转YUV444实例详解

2017-07-10
阅读 9 分钟
19.3k
学习一门新技术,总是有一些经典是绕不开的,对于NEON来说,这份必备的武林秘籍自然就是ARM官方的《NEON Programmer's Guide》(以下简称Guide)啦。别看这份Guide有四百多页,其实只有一百来页是正文,后面都是供查阅的手册,通读一番还是不难的。所以这里我也就不打算把Guide里的内容翻译过来敷衍了事了。在此我想借一...

搭建cocos2d-x游戏开发环境

2016-08-30
阅读 4 分钟
4.4k
转一篇旧文,原文请戳这里:[链接] 配置Mac OS X开发及iOS打包环境 安装XCode 安装命令行工具 安装Xcode Command Line Tools: {代码...} 安装OS X下的包管理器Homebrew(Mac OS X已自带ruby): {代码...} 之后就可以用brew install安装python、git等package 。 配置Android打包环境 安装Java 在官网下载安装即可。 And...

用Docker容器来生成quick-x/cocos2d-x游戏apk包

2016-08-30
阅读 5 分钟
5.7k
前段时间本渣在做服务器端开发时,采用了Docker作为解决方案的一部分,最初的动机主要是想用namespace做环境隔离、用cgroups做资源限制,却也切身体会到Docker所带来的构建上的便利。故而本渣也回头去想之前cocos2d-x客户端的开发工作是否也能Docker化,很快就找到了一个很适合采用Docker的场景,那就是打apk包。从之前...

自动给tmux现场做备胎

2016-08-10
阅读 3 分钟
5.5k
还记得本渣以前写的给tmux现场做备胎的脚本吗?其实后来本渣就没再去拓展这个脚本了,不是因为之前的脚本运行得够好不需要再改了,而是在写好那个脚本那年,有一个工具横空出世,让本渣觉得再也不用造轮子了——好了,不卖关子了,这个工具就是tmux的resurrect插件!

瓦片地图注意事项

2016-08-08
阅读 6 分钟
5.6k
瓦片地图(Tiled Map)系列文章: 斜45度瓦片地图(Staggered Tiled Map)里的简单数学 瓦片地图注意事项 承接上一篇文章,再来聊聊一些coding方面的tips: <!-- more --> TileMapAtlas、FastTMX和TMXTiledMap的选择 我们看到cocos2d-x提供了三个和TiledMap相关的类:TileMapAtlas、FastTMX和TMXTiledMap,那么应...

斜45度瓦片地图(Staggered Tiled Map)里的简单数学

2016-08-08
阅读 4 分钟
13.7k
前段时间在做游戏的地图编辑功能,我们是在一个斜45度视角的场景上,对地图上的建筑或装饰物进行添加、移动、移除等基本操作,而且位置的改变是以网格作为最小操作单位的。本渣是用Staggered Tiled Map实现的,与垂直视角的Tiled Map不同,斜45度视角处理起来相对麻烦些,这次就聊聊其中一些跟数学相关的有趣问题。

Cocos2d-x游戏的性能检测

2016-08-04
阅读 3 分钟
11.1k
贴一篇旧文,如果以后有更多有趣的经验会更到原博客上:[链接] 前段时间本渣负责了一些优化我们cocos2d-x游戏性能方面的工作,在这里做一点记录。 OpenGL指标 在debug版的cocos2d-x游戏里,通常会在左下角显示三个指标(当然,是否显示这三个指标是可以配置的): GL verts: 绘制的顶点数量 GL calls: 绘制次数 FPS: 帧...

cocos2d-x v3.2 Label的一些坑

2016-06-29
阅读 9 分钟
5.9k
文字换行是一个困扰我们挺长时间的问题:之前就常常有文字超过指定长度却没有换行的情况出现,后来加入韩文、泰文等“奇葩”文字后问题就更严重了。cocos2d-x引擎在v3.2后大改了这部分的实现,但由于涉及的改动太多,无法作为一个独立的patch单独apply过来,而且更新引擎版本对我们上线的游戏代价太大,也不可行。好在本渣...

svn pre-commit hook两三事

2016-03-29
阅读 7 分钟
11.2k
说起折腾svn hook这件事还是在去年年底。我厂向来木有Code Review等Quality Assurance流程,全赖老司机们各种强力输出。而当时我们项目的不少老司机要么去了其他部门要么离职了,新来的小鲜肉码农们似乎对Version Control一无所知。别的不说,单是commit不写comment,便让大家头疼不已,每次在merge时都得额外花不少时间...

小记Linux/UNIX下错误权限恢复

2016-02-18
阅读 1 分钟
3.6k
原文请猛戳:[链接] 继我不久前犯二之后,今天一位同事小伙伴也逗逼了,给/etc/sudoers加了777权限...6666结果sudo就悲剧了: {代码...} 我一开始还想用pkexec恢复: {代码...} 不料机器上木有装PolicyKit... 后来小伙伴找SA要root密码搞定了。不过这倒勾起了我的好奇心:这种悲剧除了pkexec、除了拿到root权限(包括重...

小记Linux/UNIX下错删文件恢复

2016-02-18
阅读 2 分钟
10.1k
一个月前,我的洁癖犯了,想执行find . -name "*~" -exec rm {} \;清下某目录下由vim生成的~文件,不料漏打了~,把一些文件删掉了...好在有用git做版本控制,即使.git/index也被删没了,但也可以通过git reset恢复,之后再用git恢复版本管理中的其他被删文件即可。不料今天二月二号,我又犯二了,被做死历史find . -name...

在cocos2d-x游戏中实现tips功能

2016-01-27
阅读 6 分钟
4k
这次分享一个简单的小功能,用cocos2d-x实现tips效果,作为之前一篇博文的后续。tips的行为很简单:点击某个node(我们不妨称它为target_node)触发,当点击区域在target_node范围时出现tips,否则隐藏tips(有些情况需要指定有效点击范围不在某些node中,我们把这些node称为exclude_nodes);当target_node位于屏幕左半...

quick-cocos2d-x tips

2016-01-27
阅读 10 分钟
3k
原文请猛戳:[链接] 承接上一篇,这篇主要谈谈本渣在quickx用的一些脚本或自己折腾的一些定制,本文也将不时更新。 如无特殊说明,相关函数放在一个MyPackage的lua global table中: {代码...} UI组件 滚动列表相关 {代码...} 更新:以上改动已挪到yszheda/quickx-extensions的UIScrollView或UIListView中。 lua语言相关...

quick-cocos2d-x踩坑记(2)

2015-08-04
阅读 2 分钟
4.7k
给CocoStudio的UIText对象加上描边后字体颜色也变掉了。这个bug其实是2dx引擎的CSLoader的bug,CSLoader在解析包括UIText的UI组件、并设置它们相应的颜色时,调用的都是node的setColor,而非调用Label自身的setTextColor接口,这就导致了描边颜色和node颜色的混合。

quick-cocos2d-x按钮补丁

2015-07-22
阅读 1 分钟
2.7k
最近在处理一个略奇怪的问题:app在某些情况下点按钮会消失后又重新出现,报bug的童鞋们把现象描述得有些扑朔迷离,因此本渣在排查问题时花了不少时间,在查了一些不相关的问题之后最后终于确定了现象和原因(详情请参见本渣另一篇博文)。本渣也发现了quickx的按钮类UIButton在实现上存在的一些问题,与其不改动其内部...

cocos2d-x实现打字特效

2015-04-15
阅读 3 分钟
7.2k
首先,cocos2d-x中label默认是utf8编码,quickx提供了一个string.utf8len接口,这里再加一个截取子字符串的函数:

quick-cocos2d-x踩坑记

2015-04-15
阅读 2 分钟
7.6k
本渣最近一个月来开始接触quick-cocos2d-x,用lua开发比c++要快些,但也因为quickx目前的一些坑,让本渣折腾了不少时间。在此做点记录,希望能让别人少走些弯路。原文将不时更新:[链接]

cocos2d-x V3.x不规则按钮-续篇

2015-04-15
阅读 3 分钟
4.4k
之前曾经在cocos2d-x V3.x不规则按钮探讨过在cocos2d-x 3.x版本实现不规则按钮的方法,后来本渣又琢磨了下仿照RenderTexture类调用OpenGL ES API来获取图片像素信息的方式。这种方式由于按钮图片的Texture已在内存中,且不需要解析图片文件格式,因此相比之前用Image::initWithImageFile还是要快一些的。

cocos2d-x V3.x不规则按钮

2015-04-15
阅读 6 分钟
7.4k
cocos2d-x的按钮默认是以长方形作为点击区域的,实际使用时这确实很蛋疼。之前有大牛研究了如何获取图片的透明度实现不规则点击区域的方法,例如:

cocos2d-x支持长按的TableViewCell

2015-04-15
阅读 5 分钟
4.4k
再次来聊一聊cocos2d-x的TableView。之前之所以用继承TableView的方式实现2D的GridView是因为用到TableView点击事件的地方涉及到全局数据的复杂处理,这块处理放到TableViewDelegate类的tableCellTouched比较合理。但这个函数在cell被点击时都会被调用,而实际游戏里一个cell往往只有部分UI才能被点击(所以当点击事件只...

cocos2d-x二维TableView

2015-04-15
阅读 5 分钟
5.7k
对于刚开始接触cocos2d-x的TableView的人来说,这个UI类看上去并非顾名思义的是个Table,而仅仅是个一维的List。因为项目需要,我封装了一个TableView的子类来实现二维的功能。具体代码和测试代码详见:cocos2d-x-GridView

如何自动设好 Android.mk 的 LOCAL_SRC_FILES 和 LOCAL_C_INCLUDES

2015-04-15
阅读 4 分钟
12.3k
用cocos2d-x开发Android游戏时,需要在Android.mk文件中,为LOCAL_SRC_FILES变量指定要编译的源代码,以及为LOCAL_C_INCLUDES变量指定头文件。当项目文件越来越多时,这种手动修改很浪费时间。好在Android.mk其实就是一个makefile,我们可以借助makefile语法来自动完成这部分工作。

cocos2d-x V3.x内存管理分析

2014-10-03
阅读 16 分钟
5.6k
cocos2d-x移植自Objective C的cocos2d,其内存管理其实也来自于OC。因而对于写过OC程序的朋友来讲,cocos2d-x的内存管理应该是一目了然的,但对于本渣这枚没接触过OC的C++码农来说,或许直接看cocos2d-x源代码才是最直接快捷的方式。

用CUDA加速一类特殊矩阵乘法

2014-07-18
阅读 10 分钟
6.7k
矩阵乘法是利用GPU加速一般运算的经典范例,在NVIDIA官方的CUDA C Programming Guide和CUDA C Best Practices Guide也都有示范代码来说明如何加速矩阵乘法。本渣这里要介绍的是如何加速矩阵乘法的一类特殊情况——大小悬殊的两个矩阵的乘法。

《Practical Vim》读书笔记

2014-05-24
阅读 1 分钟
3.4k
后来在图书馆预约了这本书,等了许久它才轮流到我手上。这本书包含了121个Vim的Tips,总体上属于基础及稍进阶级别。我比较欣赏此书的还是各种范例,不少是实际使用Vim时经常会遇到的场景。此外,强大的Vim神器常常会提供给我们许多种解决方案来处理同一问题,该书也包含了一些方法论的探讨。读这本书的同时我也摘了一些...

Richard Stallman的演讲:「A Free Digital Society」

2014-05-17
阅读 2 分钟
3.2k
RMS(Richard Stallman)这次居然来学校布道了,我也有幸能近距离围观到传说中的自由软件神教教主。这次RMS做了一次非技术性的演讲,题目是「A Free Digital Society」。由于没有翻译,直接听英文还是略累的,好在RMS的语速不快,发音清楚,所以我还能听懂大意:RMS澄清了各种对自由软件(free software)的误解,例如把...

搭建个人wiki站点

2014-04-23
阅读 4 分钟
7.1k
写blog确实是一种消化和深入理解知识的方式,但往往要整理一个完整的主题相当的耗时间。平时我也想记一记一些有用然而散乱的tips,慢慢积累起来。作为一位Vim忠实粉,我理所当然找到了大名鼎鼎的Vim插件Vimwiki,并开始借此搭建我的个人wiki。

自动给tmux现场做简单的备胎

2014-04-04
阅读 3 分钟
8.3k
前段时间学校的EECS楼发生火灾,最近隔三差五停电检修,打断我在server上跑的实验。而且我习惯上用tmux开多个session和window,一遇到停电我的tmux现场就悲剧了。复电重开机之后要把tmux现场手动重新建好也很麻烦,于是我就挤出一点时间琢磨着写个简单的script去自动保存和重载tmux的副本。

LaTeX非主流技巧集锦

2014-03-27
阅读 5 分钟
8.7k
早先我用MS office或open source的OOo来编辑文档,后来渐渐转向google docs和LibreOffice,学会了$LaTeX$后,由于$LaTeX$所见即所得(WYSIWYG)的特征节省了我不少排版的时间,所以如今成为我撰写文档、幻灯片(beamer)的主要工具。以下主要是我折腾$LaTeX$的点点滴滴,有些也许很少能被用到(例如插入u3d来显示3D物体...