小编big*_*ill的帖子

Adobe AIR可以使用的最大内存量是多少?

我一直在为我正在考虑建造的游戏做一些快速原型设计.我想要做的主要事情之一是为瓷砖类型地图生成地图.在生成地图时,我最终使用了大量的ram.我正在为我的测试构建一个随机整数数组.当我尝试生成大规模闪存的地图时,会给出内存不足错误:

Error: Error #1000: The system is out of memory.
Run Code Online (Sandbox Code Playgroud)

我已经想过我可以写一个文件来解决这个问题.但有人知道实际的最大尺寸吗?我试过四处寻找无济于事.

活动监视器报告ADL使用大约500MB"实际内存"和大约700MB"虚拟内存".System.privateMemory属性似乎与"实际内存"值匹配.

作为旁注,我正在使用8gb ram在OSX Snow Leopard(64)中进行开发

编辑:

这是我正在运行的示例测试

var ba:ByteArray = new ByteArray();
for(var i:uint = 0; i<100000000; i++)
{
    ba.writeInt(int(Math.random()*100));
}

trace("end", ba.length, System.totalMemory);
Run Code Online (Sandbox Code Playgroud)

这个例子运行正常,之后总内存属性报告使用了大约500MB的ram.现在将目标值增加到400,000,000我最终收到"内存不足"错误.

注意:在Flash CS5.5中进行测试,超时设置为120秒(测试永远不会达到该时间)

编辑:

我已经创建了一个更好的测试示例:

var i:uint = 0;
var loopLength:Number = 500000000; // 500,000,000
var ba:ByteArray = new ByteArray();

for(i=0;i<loopLength;i++){
    try{ba.writeInt(1);}
    catch(e:Error){
        MEM_TI.appendText(e.message);
        break;
    }
}    

ba.position = 0;
MEM_TI.appendText("\nTM: "+System.totalMemory+" FM: "+System.freeMemory+" PM: "+System.privateMemory+" BALENGTH: "+ba.bytesAvailable/4);
Run Code Online (Sandbox Code Playgroud)

当我从浏览器运行此脚本时,独立调试器或AIR i获得大致相同的内存使用量读数(我知道这种情况会有所不同).然而,常量是字节数组的最终长度:

浏览器(Firefox):TM:540413952 FM:19116032 PM:562573312 BALENGTH:134217728

独立:TM:540577792 …

air memory flash max limit

12
推荐指数
1
解决办法
6237
查看次数

应该在后端还是前端生成图形数据?

我最近在办公室里一直在讨论是否提供通过我们的内部后端api准备的图形数据,还是提供通用数据并解析前端的图形格式.以下是我从团队中收集的基本笔记:

前端优点:

  • 数据以通用格式从后端传输
  • 由于数据采用通用形式,因此可以使用任何图形渲染前端.提供了一个解析器方法

前端缺点:

  • 前端需要包含某种解析器,以将通用数据转换为实际的图形数据

后端优点:

  • 可以以正确的格式提供数据,从而无需进行前端解析

后端缺点

  • 锁定我们可以使用的图库

看起来好像是一个/或场景,但我想问这个问题以获得任何其他可能的见解.

后端我的意思是REST API,而前端我的意思是网络应用程序(Javascript).

javascript php frontend graph backend

6
推荐指数
2
解决办法
1509
查看次数

标签 统计

air ×1

backend ×1

flash ×1

frontend ×1

graph ×1

javascript ×1

limit ×1

max ×1

memory ×1

php ×1