KD87 718 Опубликовано 1 Декабря 2014 (изменено) sys_ini = system_ini() -- файлы в винде вообще открываются ОЧЕНЬ медленно. А сам сталкер еще и что-то с ними делает, тоже мееедленно, и печально. Тут ошибка. Сталкер загружает конфиги однократно, более их не выгружает, соответственно любые манипуляции с конфигами в скриптах не приводят к открытию каких-либо файлов. Более того, функция system_ini() есть возврат указателя CInifile *pSettings, что опять же не только не приводит ни к каким файловым действиям, но и с точки зрения производительности не стоит практически ничего. Т.е., код сам по себе как код, только разницы никакой - что так, что получать system_ini в произвольном месте в скриптах. Тут скорее вопрос стиля кодирования и здесь я целиком за. Изменено 1 Декабря 2014 пользователем KD87 1 1 Поделиться этим сообщением Ссылка на сообщение
KD87 718 Опубликовано 1 Декабря 2014 Ну сам же писал - в LUA функции не инлайнятся Вызов функции все же вызов функции. Видимо, это влияет. Поделиться этим сообщением Ссылка на сообщение
KD87 718 Опубликовано 1 Декабря 2014 А вот с просто файлом, не system.ltx - форменный кошмар А он как раз грузится с диска, т.к. не закеширован при загрузке. Поделиться этим сообщением Ссылка на сообщение
KD87 718 Опубликовано 1 Декабря 2014 @Карлан, если заинклудить туда, то файл будет загружен только раз и время, затрачиваемое на его загрузку перенесется на старт игры. Но! Обращение к секциям в файле должно будет идти через system_ini(), никаких ini_file(). Вызов ini_file() ведет к чтению файла с диска в любом случае, насколько я понимаю. Поделиться этим сообщением Ссылка на сообщение