PDA

Просмотр полной версии : [Вопрос] AMX вырос почти на 8 мб



Vasya_Pupkin
04.08.2016, 20:02
AMX вырос почти на 8 мб
из за кода ниже
MAX_HOUSES = 1600

Вот из за этого кода верней MAX_HOUSES

new hobjname[MAX_HOUSES][60][60];
new AddObj[MAX_HOUSES][60];


publics: LoadAllObject()
{
new rows, fields,i, h;
cache_get_data(rows, fields);
if(!rows) return print("- Объекты домов не найдены.");
for(new x; x < rows; x++)
{
i = cache_get_field_content_int(x, "hModelNumber");
h = cache_get_field_content_int(x, "hID");
HouseInfo[h][hModelID][i] = cache_get_field_content_int(x, "hModelID");
if(!HouseInfo[h][hModelID][i]) continue;
HouseInfo[h][hModelx1][i] = cache_get_field_content_float(x, "hModelx1");
HouseInfo[h][hModely1][i] = cache_get_field_content_float(x, "hModely1");
HouseInfo[h][hModelz1][i] = cache_get_field_content_float(x, "hModelz1");
HouseInfo[h][hModelx2][i] = cache_get_field_content_float(x, "hModelx2");
HouseInfo[h][hModely2][i] = cache_get_field_content_float(x, "hModely2");
HouseInfo[h][hModelz2][i] = cache_get_field_content_float(x, "hModelz2");
cache_get_field_content(x, "hobjname", hobjname[h][i]);
HouseInfo[h][hModelNumber][i]=i;
if(HouseInfo[h][hModelx1][i]!=0) { AddObj[h][i]=CreateDynamicObject(HouseInfo[h][hModelID][i],HouseInfo[h][hModelx1][i],HouseInfo[h][hModely1][i],HouseInfo[h][hModelz1][i],HouseInfo[h][hModelx2][i],HouseInfo[h][hModely2][i],HouseInfo[h][hModelz2][i],h+50,HouseInfo[h][hInt],-1,50.0); }
}
return printf("- Домашние объекты загружены.");
}
Можно ли как то исправить ?

VVWVV
04.08.2016, 20:09
А что вы хотели? У вас трехмерный массив.

Вывод: оптимизируйте код. Используйте, например, упакованные строки, оператор char и т.п.

P.S. А стоит ли бояться такого прироста данных, у вас же гигабайты.