2013-09-15 2 views
0

В настоящее время у меня есть массив массивов размером 1028 * 32 байтов в общей памяти с использованием boost :: interprocess. Каждый из них содержит информацию о местоположении и чертежах игроков в игре, которую я выскользнул из DLL, чтобы нарисовать ее на удаленном оверлее. Мой основной механизм управления чтением и записью - это bool в начале объекта общей памяти, который каждый процесс включает и выключает. Этот метод работает, и я могу получить информацию от каждого игрока, но, к сожалению, этот метод очень медленный. Есть ли способ быстрее передать эту информацию? Если это вообще возможно, я хотел бы иметь его так, чтобы я мог вызвать свою функцию рисования после того, как будет обновлен определенный член массива (скажем, член 0 обновляется до того, как моя скребок dll обновит следующий член, начните рисовать информацию члена 0, затем продолжить).boost :: interprocess самый быстрый способ обновления массива

ответ

0

Ну, вы можете иметь флаг на члена и непрерывно обрабатывать массив и проверять новые флаги. Если вам нужно больше уведомлений о стиле событий, тогда у вас может быть monitor для каждого отдельного участника и сигнализировать об этом после его обновления. Я не знаю, как повлияет производительность на 1000 мониторов.

 Смежные вопросы

  • Нет связанных вопросов^_^