|
17 / 5 / 0
Регистрация: 16.04.2016
Сообщений: 371
|
||||||
Оптимизация кода по получению информации об играх из файла08.04.2023, 00:44. Показов 8157. Ответов 46
Метки нет (Все метки)
Всех приветствую. Мне нужно получить из lua файлов имена и другую информацию об играх. В принципе мой код работает,но если в папке 70-80 и более игр,ui зависает где-то на пару секунд. Я не представляю,что будет,если в папке будет 300 игр. Я понимаю,что возможно мне надо делать это в отдельном потоке,но я не умею работать с потоками в mfc,да и,на мой взгляд,это не нужно,главное оптимизировать код и тогда,на мой взгляд,тормоза уменьшатся. Суть в том,что в каждой папке с игрой мы парсим первые 15 строк из некоторых lua файлов (main.lua и main3.lua) для получения нужной информации (подпапки в играх нас не интересуют). Затем мы добавляем недостающие игры,т.е те игры,которые мы установили вручную,в CListBox,но этот код я не буду выкладывать,т.к,на мой взгляд,он не вызывает тормоза. Вообще,как мне кажется,наибольшие тормоза из этого вызывают регулярки. Если в них основная проблема,подскажите пожалуйста,как обойтись без них,или какую более быструю библиотеку использовать для регулярок. approveInfo - мап типа string,std:
air<string,int> (тип я пишу примерно). Вот фрагмент кода класса,в котором показан парсинг строк из файлов. Заранее всех благодарю за помощь по оптимизации этого счастья.
0
|
||||||
| 08.04.2023, 00:44 | |
|
Ответы с готовыми решениями:
46
Оптимизация запроса по получению периода если дана дата Оптимизация кода скрипта при большом объеме информации Оптимизация программного кода (считывание информации с Edita в массивы ) |
|
17 / 5 / 0
Регистрация: 16.04.2016
Сообщений: 371
|
|
| 27.04.2023, 21:59 [ТС] | |
|
Понятно. А если я сделаю его статическим,но не членом класса,это тоже улучшит производительность? Интересно,почему это улучшит производительность,ведь мы же изначально создаём вектор нулевой длинны,или на его создание уходит много времени. Вообще rescanInstalled используется по требованию пользователя,т.е он,к примеру,не вызывается в таймере. Кстати Вы не ответили на вопрос по поводу порчи стека,т.е что это такое,просто я об этом в первый раз слышу.
0
|
|
|
фрилансер
6510 / 5772 / 1135
Регистрация: 11.10.2019
Сообщений: 15,424
|
|||||
| 28.04.2023, 11:22 | |||||
|
http://incpu.ru/Arhitektura-mi... -Stek.html http://mf.grsu.by/UchProc/liva... oal_11.htm Добавлено через 2 минуты локальные переменные размещаются на стеке. Если выйти за край памяти локальной переменной, то мы получаем неопределённое поведение. Технически - если мы туда пишем, то портим соседние переменные, аргументы функции и так далее
0
|
|||||
|
17 / 5 / 0
Регистрация: 16.04.2016
Сообщений: 371
|
|
| 28.04.2023, 23:15 [ТС] | |
|
Огромное спасибо. Всё-таки внедрил std::unordered_map и std::unordered_set,правда прироста скорости я почти не заметил. Может мой ког можно ещё как-то оптимизировать? В общем тут появилась ещё одна маленькая проблемка. Дело в том,что в описании игры есть символы типа
и т.д. Вопрос,как оптимально эскеййпнуть их? Кстати заменил sizeof на std::size во всём проекте,поэтому Огромное Вам спасибо за то,что Вы посмотрели мой код.
0
|
|
|
фрилансер
6510 / 5772 / 1135
Регистрация: 11.10.2019
Сообщений: 15,424
|
||
| 29.04.2023, 16:40 | ||
|
0
|
||
|
17 / 5 / 0
Регистрация: 16.04.2016
Сообщений: 371
|
|
| 01.05.2023, 14:41 [ТС] | |
|
Почему-то не вставились символы. Я имел ввиду,как эскейпнуть последовательности типа 
 и т.д.
0
|
|
|
фрилансер
6510 / 5772 / 1135
Регистрация: 11.10.2019
Сообщений: 15,424
|
||||||
| 01.05.2023, 15:40 | ||||||
|
КАВ,
0
|
||||||
|
17 / 5 / 0
Регистрация: 16.04.2016
Сообщений: 371
|
|
| 03.05.2023, 18:50 [ТС] | |
|
Я думал,может есть встроенная функция по замене этих последовательностей,а получается мне всё придётся заменять самому,т.к кроме 
 есть и другие символы.
0
|
|
| 03.05.2023, 18:50 | |
|
Литература по получению MD5 файла в C++ с CryptoApi Оптимизация кода пакетного файла для создания бэкапов Оптимизация методом Ньютона (нахождение точки минимума). Оптимизация кода Оптимизация кода. Замер времени выполнения части кода. Алгоритм передачи информации в играх Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Транслитерация текста с кириллицы на латиницу (вариант №2)
Maks 13.11.2026
Обновленная версия ранее созданной обработки.
Добавлено:
- Проверка исходного текста на кириллицу, через обращение к стандартной функции "ТолькоКириллицаВСтроке" из общего модуля. . .
|
Часы с термометром и праздничным календарем
yariko 12.11.2026
Сегодня мы рассмотрим как можно сделать отличные многофункциональные часы.
Итак, поставим конкретную задачу: разработать часы с календарем, двумя термодатчиками, выводом поздравительных сообщений. . .
|
Транслитерация текста с кириллицы на латиницу (вариант №1)
Maks 11.11.2026
Решил облегчить жизнь себе и коллегам админам при создании электронных почтовых ящиков для пользователей, в результате написал обработку "Транслитерация текста" с кириллицы на латиницу, а в ней. . .
|
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version
1. 2003 - 06 - Designing Virtual Worlds (1st Edition)
Автор: Richard A. Bartle | Объем: 768 стр.
Ссылки: Amazon
. . .
|
|
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
|
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы.
Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
|
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version
Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
|
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров".
Задача:
Запрет инициалов.
Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
|