跳至正文

游戏研发

游戏研发

PM2简介及常用命令

一 PM2简介 PM2 是一个功能强大的进程管理工具,尤其适合 Node.js 应用的生产环境部署。主要具备以下几个突出特点: 进程守护,自动重启:这是最核心的功能。PM2 可以确保你的应用作为守护进程在后台运行。即使应用因为错误而崩溃,PM2 也会立即自动重启它,从而极大地提高了应用的稳定性和可靠… 阅读更多 »PM2简介及常用命令

2026微信小游戏公开课说的iOS Metal方案是什么?

在前几天的2026微信小游戏公开课上,官方介绍接入了iOS Metal后功耗降低15%,每帧耗时降低10%-20%。很多开发者第一反应是不是:“iOS发烫问题终于能优化了?” 答案是:不一定,先明确一点,这个跟普通的微信小游戏没有关系(如:基于Cocos Creator/Laya引擎开发的),它仅适… 阅读更多 »2026微信小游戏公开课说的iOS Metal方案是什么?

从零编译谷歌V8引擎源码指南

最近为适配谷歌的16KB内存页对齐要求,对安卓平台的v8引擎进行了版本升级和完整编译,特此记录分享,希望能帮助到有同样需求的开发者。 本文环境:Ubuntu 20.0+ v8 12.4 一 前提条件 代理软件。科学上网是最基础的,因为所有源码和依赖库都要从谷歌网站下载; Linux系统。普通x64静… 阅读更多 »从零编译谷歌V8引擎源码指南

随笔:WebGL着色器

使用WebGL的方便之处在于,无需搭建开发环境,只要有一个支持WebGL的浏览器就可以了。 着色器 用WebGL绘图必须使用着色器。分为两种: 顶点着色器 顶点是指二维或三维空间中的一个点,例如二维或三维图形的端点或交点。顶点着色器就是用来描述顶点特性(如:位置、颜色)的程序。 示例如下: void… 阅读更多 »随笔:WebGL着色器

Egret引擎的RES.getResByUrl方法在微信小游戏平台的实现流程

一 如何适配微信小游戏平台 Egret引擎构建微信小游戏版本后,会在library目录下生成image.js文件,通过重写ImageProcessor类来适配微信小游戏平台,以代替默认的图片加载器。 示例代码如下。 const processor = new ImageProcessor(); RE… 阅读更多 »Egret引擎的RES.getResByUrl方法在微信小游戏平台的实现流程

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

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

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

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

3D游戏引擎笔记

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

WebGL编程01

WebGL是什么 WebGL是一项结合了HTML5和JavaScript,用来在网页上绘制和渲染复杂三维图形(3D图形)的技术。WebGL基于OpenGL ES 2.0,也使用GLSL ES编写着色器。 Canvas是什么 HTML5引入标签,定义了网页上的绘图区域,允许JavaScript动态地绘… 阅读更多 »WebGL编程01

H5游戏如何配置Nginx缓存但是index文件不缓存

expires max 表示最长过期时间,即一直缓存。 expires -1 表示立即过期,即不缓存。 按如下配置,使test整个目录可以被客户端浏览器缓存,但是index.html文件不缓存,使版本重新构建后,访问index文件能实时刷新,适用于生成了MD5的h5游戏。 Nginx配置实例如下 s… 阅读更多 »H5游戏如何配置Nginx缓存但是index文件不缓存