跳至正文

Egret引擎启动流程和源码裁剪

最近因项目需要,对Egret引擎5.x版本的核心库做了一些裁剪,原因是游戏启动中有30-40%的时间都是在加载引擎代码,虽然Egret引擎自身已经很小巧,但为了缩短启动时间,还是删除了一部分用不上的引擎源码,力求更精简。 引擎源码对应的是安装目录下的src/egret文件,最终优化后的结果是,构建后… 阅读更多 »Egret引擎启动流程和源码裁剪

使用ESLint检查JavaScript或TypeScript代码

一、简介 好的编码规范有助于我们写出清晰、明确、更容易维护的代码。 ESLint是一个JavaScript语法检查器,它可以根据预置或自定义的编码规范,自动检查代码语法,并输出检查结果,同时也支持TypeScript代码。 二、安装 先确保你电脑已经安装了 node 和 npm。 2.1 安装ESL… 阅读更多 »使用ESLint检查JavaScript或TypeScript代码

微信小程序/小游戏运行环境小结

1 运行环境 微信小程序分为逻辑层和渲染层,分别运行在各自的线程中。两个线程之间的通信经由微信客户端(Native)做中转,逻辑层发送网络请求也经由Native转发。 渲染层使用WebView进行渲染,逻辑层采用JSCore运行JS脚本。因为一个小程序可能存在多个界面,所以渲染层也可能有多个WebV… 阅读更多 »微信小程序/小游戏运行环境小结

CocosCreator屏幕适配小结

  • Cocos

1 原理 CocosCreator引擎通过Canvas和Widget组件来适配不同分辨率的屏幕。 Canvas(画布):可以随时获得设备的实际大小并对所有渲染元素进行缩放。 Widget(对齐组件):能够将元素对齐父节点的不同参考位置。 设计分辨率:场景制作时使用的模版分辨率。 屏幕分辨率:设备运行… 阅读更多 »CocosCreator屏幕适配小结

Unity Shader 笔记

  • Unity

1 渲染流水线 指的是CPU和GPU根据一系列的顶点数据和纹理等信息,最终转换成人眼可以识别的图像的过程。 1.1 渲染流程 《实时渲染》一书将渲染流程分成3个阶段:应用阶段、几何阶段、光栅化阶段。 1.1.1 应用阶段 这个阶段由CPU负责实现,应用准备好模型、光源等渲染数据,设置好材质、纹理、S… 阅读更多 »Unity Shader 笔记

3D游戏引擎笔记

1 数学知识 1.1 坐标系 分为左手坐标系和右手坐标系两种,主要区别在于z轴的指向,z轴指向屏幕内的是左手坐标系,z轴指向屏幕外的右手坐标系。Unity和Direct3D使用的是左手坐标系,OpenGL使用的右手坐标系。 法线和切线 与椭圆有且仅有一个交点的直线,叫做椭圆的切线。二者公共点,叫做切… 阅读更多 »3D游戏引擎笔记

setETC-一个自动化遍历Creator资源目录设置压缩纹理的脚本

1 功能简介 目前 2.x 版本的Cocos Creator在设置压缩纹理格式时,需要一个一个资源去手动设置,对拥有成千上万个纹理资源的工程来说,这种操作显然不现实。 本文代码的作用就是遍历Creator资源目录,自动化设置压缩纹理格式,并随时可以取消,恢复原始设置。 2 代码 代码里默认配置的是A… 阅读更多 »setETC-一个自动化遍历Creator资源目录设置压缩纹理的脚本

一个操作让游戏内存立减50+%-CocosCreator性能优化之压缩纹理

  • Cocos

1 什么是压缩纹理 在游戏中,纹理不仅占据大量的包体,也占据了大量的内存。传统的图片压缩格式(如JPEG、PNG等)虽能减少资源大小,但是不能被GPU直接识别,还是需要先加载到内存通过CPU解码,转换成RGB/RGBA等能被GPU识别的格式,才能传送到GPU进行渲染。 为避免这些问题,压缩纹理,指的… 阅读更多 »一个操作让游戏内存立减50+%-CocosCreator性能优化之压缩纹理

CocosCreator压缩纹理使用总结

如前文所说,和原始的PNG图片相比,压缩纹理在内存和包体上都有巨大的优势,但由于移动设备的硬件和OpenGL ES支持不同,目前还没有一种压缩纹理格式既能发挥优势,又能兼容所有设备,所以需要针对不同平台做定制。 1 不同纹理的特点 1.1 ETC1 ETC1内存占用是PNG的1/4,文件大小是PNG… 阅读更多 »CocosCreator压缩纹理使用总结

Jenkins参数化构建实现一个任务执行多个分支

在使用Jenkins构建项目过程中,有时会发现好几个任务的配置其实一样,只是名字或若干参数不一样。建不同的任务虽然简单,但一旦有变化则每个任务都要修改,太繁琐了,这种情况下,就可以使用Jenkins的参数化构建。 参数化是Jenkins自带功能,如下图所示,设置了选项 NAME 对应 aaaaa 和… 阅读更多 »Jenkins参数化构建实现一个任务执行多个分支