zl程序教程

您现在的位置是:首页 >  后端

当前栏目

C#开发的OpenRA游戏高性能内存访问的方法

2023-09-14 09:10:03 时间

C#开发的OpenRA游戏高性能内存访问的方法

一个游戏性能往往是比较关键的,

因为游戏很多时候是比拼的是人的速度和技巧。

比如王者荣耀里,一个大招是否及时地放得出来,就会影响到一场比赛的关键。

而这个大招的释放,又取决于游戏运行在手机上的性能。

如果游戏太耗性能,导致手机卡机,那么操作上就会受到影响。

所以对于游戏来说,不会放过优化性能的任何方式。

由于这里是采用垃圾回收的方式语言C#,那么在不优化的情况下,它是使用管制的内存。

那么这种管制内存,就会存在一些性能损失。

要避免这种性能损失,就需要使用一些特殊的方法。

在C#里采用关键unsafe和fixed来配合实现内存快速度访问,而不需要内存回收系统干预。

虽然这样会比危险一些,但是为了性能的提升,这些冒险是值得的。

在OpenRA里定义FastCopyIntoSprite函数,这个函数是用来从一个PNG文件生成一个Sprite。

什么是Sprite?

(1).Sprite在2D游戏术语里面是指 像素图。

(2).Sprite是2D游戏中最基础的 组件。

(3).我们一般把Sprite称之为 精灵。

为何要创建一个Sprite对象?

(1).单纯的图像文件是