- 博客(90)
- 资源 (37)
- 收藏
- 关注
原创 关于spine在cocos2dx使用硬件压缩纹理混合问题总结
问题分析给engine-x增加了ASTC和ETC2纹理支持,默认情况下Image加载这些纹理视为没有alpha预乘,也就是Image的_hasPremultipliedAlpha保持为初始值false, 引擎核心代码中的类基本都会根据该变量正确设置混合模式即{ backend::BlendFactor::SRC_ALPHA, backend::BlendFactor::ONE_MINUS_SRC_ALPHA},所以渲染没什么问题然而spine运行库的实现中,强制认为纹理已经alpha预乘,因此在使用E
2020-11-04 17:15:38 2437
原创 adxe-1.0-a17 发布
[Feature] 抽象RenderTarget #210[BugFix] 修复 AtlasNode, 当ignoreContentScaleFactor修改后,需要更新atlas的内容[BugFix] Fix macro CC_LOG_TO_CONSOLE doesn’t work for win32[BugFix] 初始化UserDefault::_encryptEnabled=false,防止闪退[Refine] 避免每次都创建深度模板缓冲state,metal渲染后端增加缓存机制[Ref.
2020-09-29 10:59:46 275
原创 yasio - socket库性能测试报告,遇到一些坑,记录下
Devices:Windows 10 & WSL2 & Ubuntu 20.04 On VMware 15.5: Intel® Core™ i7-9700 CPU @ 3.00GHz / Windows 10(10.0.19041.264)Linux: Intel® Xeon® Platinum 8163 CPU @ 2.50GHz / Ubuntu 20.04macOS: Intel® Core™ i7-8850H CPU @ 2.60GHz / macOS 10.15.4And
2020-09-25 16:34:50 494
原创 将【axmol】引擎的OpenAL实现在iOS平台替换openal-soft详细过程
前言如标题, 从之前文章对EGNX的介绍已经了解到,EGNX是基于Cocos2d-x-4.0的持续维护分支,EGNX的AudioEngine模块API标准继承了Cocos2d-x-3.x/4.0,但相对于官方最大区别是统一了全平台的音频后后端API,全平台基于OpenAL,接下来,本文将从Cocos2d-x音频库的历史到EGNX的音频库,来介绍EGNX是如何把iOS平台的OpenAL换成openal-soft: https://github.com/kcat/openal-softopenal-soft
2020-08-27 16:07:52 1205
原创 Lua IDE - x-studio 强大的IDE
x-studio是一款轻量级且强大的开发人员IDE,软件大小仅15M左右, 不仅具有UI编辑功能,还具有Lua代码编辑和调试功能。致力于 Sublime Text & VSCODE一样的编辑体验,VS一样的调试体验,支持自动代码缩进,Ctrl+I修正代码缩进, 让编辑和调试Lua变得简单易用,轻量级IDE,轻松愉悦的体验;由作者历时5年精心打造和雕琢而成。作者秉承用心,用灵魂做好软件的理念,将毕生所学融入软件的灵魂,依然在持续维护和优化该项目。最新版本更是增加了全量资源加密解决方案,简单方便,易于集
2020-08-03 00:07:09 666
原创 绘制半透明矩形Gdiplus和GDI性能对比
最近有绘制半透明矩形做遮罩需求,因此在网上找了两种实现Gdiplus实现:void GdipFillAlphaRect(CDC& pDC, CRect& rc, int r, int g, int b, int a){ Gdiplus::Graphics renderer(pDC.GetSafeHdc()); Gdiplus::Color color(a, r, g, b); Gdiplus::Rect rectangle(0, 0, rc.Width(), rc.Height
2020-07-05 21:50:08 962
原创 yasio-3.33.2发布
修复使用c-ares时在ios平台获取不到系统dns问题增加YOPT_S_DNS_DIRTY选项,启用c-ares时,当手机设备网络环境发生变化时,应当设置此选项增强当内核发送缓冲区满时事件注册逻辑
2020-06-23 13:21:59 321
原创 【yasio】轻量级跨平台socket库v3.33.0正式发布
yasio 是一个专注于移动平台和各种客户端的socket库官网: https://yasio.org/文档: https://docs.yasio.org/经历近3个多月的研发和测试,终于发布了v3.33.0的正式版本,此版本带来了大量的bug修复和功能增强,详细更新内容如下:重构UDP Transport,和TCP一样使用发送队列,UDP客户端默认不使用connect绑定四元组,同时提供选项YOPT_T_CONNECT和YOPT_T_DISCONNECT来修改绑定行为增加io_serv
2020-05-26 17:21:05 569
原创 关于yasio的Lua绑定思考
最近,将 yasio Lua 绑定集成到xlua中使用,结果发现在Apple clang release优化编译模式下,lua构造yasio的io_service对象是直接crash了,刚开始表现是Unity Editor预览即闪退,后通过Xcode附加+VS联合调试发现crash原因是Bad Access, 于是花时间研究了下,将yasio从之前只能在c++11标准下编译,到现在支持在c++14,c++17乃至c++20标准下编译,同时对问题做了如下总结:c++11:使用kaguya绑定库,但这
2020-05-10 22:38:44 457
原创 【yasio】轻量级跨平台socket库v3.31.2发布
yasio-3.31.2[stable]更新优化单利类模板实现,详见: https://github.com/simdsoft/yasio/issues/200修正配置宏拼写YASIO_VERBOS_LOG修正为YASIO_VERBOSE_LOG.调用bsd socket API getaddrinfo解析域名时明确传入socktype, 默认值SOCK_STREAM, 避免在mac或li...
2020-01-19 12:59:54 335
原创 【yasio】轻量级跨平台socket库v3.31.0发布
yasio-3.31.0发布 (轻量级跨平台网络库)添加initialBytesToStrip参数设置支持, 使用选项YOPT_C_LFBFD_IBTS设置添加ssl支持,使用YASIO_HAVE_SSL编译宏启用, 用信道码YCM_SSL_CLIENT打开ssl客户端,需要openssl支持,默认cocos2dx已包含openssl库.集成 c-ares 异步域名解析库,使用YASIO_...
2020-01-08 13:13:19 423
原创 yasio - 论跨PC和移动平台socket库的设计和实现原理
之前分享对的文章都是对yasio特性和用法的描述:https://blog.csdn.net/xseekerj/article/details/51891362本文将阐述核心设计思路和原则。当一个框架或库的诞生,必然有其原由,一个库带来的好处越大于使用代价,越容易被人接受,以下是本人对框架库设计的重要原则总结:易用性,只需要简单的调用,便能正常工作鲁邦性,简而言之就是不能闪退适用性,核...
2019-12-01 18:05:21 613
原创 x-studio教程之 - 快捷键列表
ShortcutDescriptionShift+Alt+Enter全屏Alt+ MouseWheel缩放节点Ctrl+Alt+MouseWhell缩放渲染窗口Alt + MouseMove移动场景中的对象Ctrl + Alt + MouseMove移动渲染窗口↑↓←→微调UI节点 单位1px, 若连续按着不放移动单位为2px按住...
2018-10-27 17:58:52 1391
原创 Windows 64位系统下32位进程调用64位进程中的函数
最近研究了 一番,写了个命令行通用,支持使用CreateRemoteThread或RtlCreateUserThread+RtlExitUserThread 调用远程进程的指定模块DLL的函数: https://github.com/halx99/wow64helper另外推荐一款国外大神写的64位Windows 64位系统下32位程序调用64位模块代码的扩展库: https://github.c
2017-01-18 18:06:43 3340
原创 rapidxml和pugixml性能分析以及增加SAX解析支持
rapidxml是目前我所用过最快的解析器, 久经考验,一经作者写成,沿用至今, 并被boost用作property_tree 然而遗憾的是不支持SAX解析, SAX解析的有点是无额外内存占用,速度比DOM更快。于是本人闲时站在巨人的肩膀上增加了rapidxml SAX的支持, 详见: https://github.com/halx99/xmldrv3
2016-08-22 15:00:45 1721 1
原创 cocos2d-x 纯代码创建透明格子精灵
效果图:代码//// Copyright (c) 2015~2016 x-studio365 - All Rights Reserved.//#define DARK_BYTE 0x99#define LIGHT_BYTE 0xddvoid fillLinePixelsRGB888(const SIZE& size, const SIZE& cellSize, unsigned char*&
2016-07-16 15:24:16 1231
原创 rapidxml vtd-xml pugxml tinyxml2 性能对比,备忘
一直用rapidxml, 发现vtd-xml,说是虚拟指针方式,于是比较下下性能: 测试数据:VTD提供的15M address.xml 测试环境: VS2015 release版本 测试项目: https://github.com/halx99/xmldrv3 测试结果:
2016-07-12 22:47:20 1406
原创 BabeLua秒启调试补丁1.08,支持Quick, 支持VS2013和VS2015(2016.6.21更新)
babelua-compat-1.05 babelua-compat专为加快Babelua调试启动速度 的补丁,多数情况下均可实现秒起调试,并且支持捕获调试日志并输出 本群下载最新版1.05,解压后运行install.bat即可安装补丁 注意事项:安装补丁前请确保已安装最新版BabeLua插件V3.2.2.0 - 2015.09.29 下载地址: http://pan.baidu.c
2016-05-20 16:23:14 2748
原创 cocos2d-x-3.x snapshot
cocos2d-x-3.x snapshotcocos2d::Image* nodes_utility::snapshot(float scale){ cocos2d::Size visibleSize = Director::getInstance()->getVisibleSize(); cocos2d::Point visibleOrigin = Director::get
2016-05-04 00:30:03 754
原创 推荐一个C++ xml配置解析工具类
推荐一个C++ xml配置解析工具类: https://github.com/halx99/xmldrv3
2016-03-22 13:05:32 1573
转载 cocos2d-x如何解决图片显示模糊问题
cocos2d-x如何解决图片显示模糊问题 由于一些特定的原因,程序并没有使用plist方式打包资源,而现在使用的是零散的小图片。在运行时,发现会出现某些图片显示模糊的情况。找到的原因如下:纹理在初始化的时候默认调用了setAntiAliasTexParameters接口,而该接口设置GL_TEXTURE_MIN_FILTE
2015-09-07 13:57:55 1519
原创 C++调用JS,可变参模板实现,方便调用(cocos2d-x)
#include "scripting/js-bindings/manual/ScriptingCore.h"#include #include /// args push helpertemplate inlinevoid jsx_unpack_arg(std::stringstream& ss, int& carg, const _Ty& arg){ // template
2015-07-06 00:30:49 1298
原创 C++调用LUA函数,可变参模板实现
代码: /// FUNCTION TEMPLATE: luax_vcalltemplate inlinevoid luax_vcall(const char* func, _Args...args);template inline_Result luax_vxcall(const char* func, _Args...args);/// TEMPLATE luax_vxcall
2015-06-30 10:19:24 1876
原创 单词反转实现(使用栈内存)
如题,代码如下:void reverse_words(std::string& original) { enum { scan_normal, scan_frag, } state; char buf[4]; memset(buf, 0, sizeof(buf)); int last = original.size() - 1; int cur = original.
2015-06-02 21:20:52 915
转载 动态注册JNI
动态注册JNI分类: JNI/NDK 2011-12-20 18:08 5572人阅读 评论(6)收藏 举报jnijavastringnullfilestruct在在纯java中使用JNI文章中可以看到,java的native方法与C/C++代码函数是通过Java___这种方式对应的,即它是静态注册的。当需要使用现有的C/C++代码函数时,需要以这种形式
2015-05-12 23:46:00 609
原创 LUA constant
function constant(who) local smt = function(who) local mtt = { __index = function(t,k) return who[k] end, __newindex = function(t,k,v) end } return mtt; end local ta
2015-04-28 13:58:18 820
转载 C++调用Java方法详解
C#C++CJavaJNI 本文主要参考http://tech.ccidnet.com/art/1081/20050413/237901_1.html 上的文章。 C++调用JAVA主要用到了SUN公司的JNI技术, JNI是Java Native Interface的 缩写。从Java 1.1开始,Java Native Interface (JNI)标准成为java
2015-04-16 19:14:21 758
转载 JNI学习积累之二 ---- 数据类型映射、域描述符说明
本文原创,转载请注明出处:http://blog.csdn.net/qinjuning 在Java存在两种数据类型: 基本类型 和 引用类型 ,大家都懂的 。
2015-04-16 16:05:43 471
转载 Android网络类型判断(2g、3g、wifi)
Android网络类型判断(2g、3g、wifi)转自:http://blog.csdn.net/xxxsz/article/details/8199031判断网络类型是wifi,还是3G,还是2G网络,对不同的网络进行不同的处理,现将判断方法整理给大家,以供参考 说明:下面用到的数据移动2G,联通2G,联通3G,wifi我都已经测试过,暂时手上没有电信
2015-04-15 12:21:10 636
原创 单服务器单进程吞吐量优化总结
单服务器单进程吞吐量优化总结:1.使用多线程异步IO2.使用线程本地存储threadlocal3.减少锁操作,优化锁的使用,如使用共享读写锁4.系统架构上减少客户端间业务逻辑依赖5.内存丰富的服务器中可为一定数量的业务客户端预分配内存, 重复利用6.使用线程池和内存池7.线程数量一般为CPU核心的2-5倍,总之不宜过多
2015-04-03 10:33:03 1217
原创 new和malloc区别
直接来干货,希望对新手有所帮助: malloc: 只分配内存new: 分配内存,并调用对象的构造函数(如果有必要的话,具体取决于编译器优化) 如果分配的对象数组,则会多分配4个字节,并且保留前四个字节存储对象的个数以便释放数组的时候调用所有对象的析构函数。就这么简单
2015-03-10 18:17:39 572
原创 c++11 singleton 类模板实现
使用单例从来没有如此容易和省心过, 传统单实例类模板singleton, 二段式构造单实例模板delayed
2014-11-29 18:38:50 4442
原创 cocos2d-x-3.x bringToFront & sendToBack实现
void Node::sendToBack(Node* child){ if (this->_children.size() >= 2) { auto start = *this->_children.begin(); auto bottomOrderOfArrival = start->getOrderOfArrival(); auto
2014-11-05 15:42:48 1109
原创 c++ split模板实现
template inlinevoid split(const std::string& s, const char* delims, _Fty op){ size_t start = 0; size_t last = s.find_first_of(delims, start); while (last != std::string::npos)
2014-10-29 21:04:26 1104
原创 C/C++语言的本质(Directly)
记得大三实习的时候在一位喜欢做破解的哥们的影响下了解反汇编调试这么一回事儿,于是实践后恍然悟到:(1)学汇编不为写汇编,而为透析c/c++诸多细节的本质(2)大神的境界应该是每写一句c/c++语言,其相应汇编代码便了然于心。 题外话:本文总是把c语言和c++语言写在一起,是因为笔者喜欢,笔者认为如果说汇编语言是机器语言的第一重映射,那么c语言就是汇编语言的第一重映射、c++是...
2014-09-27 01:09:57 1356
原创 cocos2d-x-3.x guides
cocos2d-x-3.0 guides.txt1.设置wp8 屏幕方向(网上找了好久没找到怎么设置,最后自己试出来了)Director::getInstance()->getOpenGLView()->UpdateOrientation(Windows::Graphics::Display::DisplayOrientations::Portrait);2.坑爹的WP8必须设置字体名
2014-09-22 22:01:34 1214
原创 iconv 用法封装
bool iconv_convert(const std::string& in, std::string& out, const char* fromcode, const char* tocode){ char buffer[128]; auto cd = iconv_open(tocode, fromcode); if (cd != nullptr) {
2014-07-17 23:43:29 1139
原创 C++ 实践总结
对于一个应用程序而言,静态链接库可能被加载多次,而动态链接库只会被加载一次。Gameloft面试之错误一Event:面试官说如下程序是可以链接通过的.class Base{Public: Base(void) { this-> initialize();}
2014-05-13 11:39:45 1505
x-studio365软件用户文档Rev2.17
2018-07-13
x-studio365_10.0.3300.700
2018-07-13
libxml2-2.9.1最新版
2014-10-17
xml4wrapper_3.6.2.7z
2014-06-02
libxml2-2.9.0.7z
2012-09-27
libxml2-2.7.8.tar.bz2
2011-06-17
最新libxml2-2.7.8库
2011-06-01
俄罗斯方块游戏(含源码)
2011-05-31
IBM汇编简易编译小工具
2010-10-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人