Size: a a a

2020 May 26

L

Lee Armstrong in ГОРИ
Шарит кто за SFML, он протекает чтоле? valgrind показывает утечку когда я работаю с окнами, и если просто слинкую sfml и не буду ничего с ним делать, то показывает, что sfml забывает где-то 1 байтик :)

При работа с окнами
==27730== Memcheck, a memory error detector
==27730== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==27730== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info
==27730== Command: ./src/main/main
==27730==
[06:35:00][debug][main]: Инициализация core::Core
[06:35:00][info][core::Core]: Инициализация сервисов
[06:35:00][trace][core::ServiceLocator]: Сервис core::Process зарегестрирован. Impl: core::ProcessImpl
[06:35:00][trace][core::ServiceLocator]: Сервис core::LoggerFactory зарегестрирован. Impl: main::LoggerFactory
[06:35:00][trace][core::ServiceLocator]: Сервис service::SFMLRenderWindow зарегестрирован. Impl: service::SFMLRenderWindow
[06:35:00][info][core::Core]: Зарегестрированно сервисов: 3
[06:35:00][debug][core::Core]: Инициализация entt::registry
[06:35:00][debug][core::Core]: Инициализация core::SystemRegistry
[06:35:00][info][core::SystemRegistry]: Инициализация систем
[06:35:00][trace][core::SystemRegistry]: Инициализация system::ExitAfterNsec
[06:35:00][trace][core::SystemRegistry]: Инициализация system::Init
[06:35:00][trace][core::SystemRegistry]: Инициализация system::SFMLRenderWindow
[06:35:00][trace][core::SystemRegistry]: Сортировка систем
[06:35:00][info][core::SystemRegistry]: Зарегистрировано систем: 3
[06:35:00][debug][core::SystemRegistry]: Порядок вызова систем:
 system::ExitAfterNsec
 system::SFMLRenderWindow
 system::Init
[06:35:00][debug][service::SFMLRenderWindow]: Открытие окна для entity-0
[06:35:07][info][core::Core]: Начало главного цикла
[06:35:13][debug][service::SFMLRenderWindow]: Уничтожение окна для entity-0
^C[06:35:19][info][core::Core]: Конец главного цикла
[06:35:19][info][core::Core]: Уничтожение всех сущностей
==27730==
==27730== HEAP SUMMARY:
==27730==     in use at exit: 437,266 bytes in 3,680 blocks
==27730==   total heap usage: 37,751 allocs, 34,071 frees, 11,627,199 bytes allocated
==27730==
==27730== LEAK SUMMARY:
==27730==    definitely lost: 432 bytes in 2 blocks
==27730==    indirectly lost: 242,784 bytes in 1,124 blocks
==27730==      possibly lost: 0 bytes in 0 blocks
==27730==    still reachable: 194,050 bytes in 2,554 blocks
==27730==         suppressed: 0 bytes in 0 blocks
==27730== Rerun with --leak-check=full to see details of leaked memory
==27730==
==27730== For counts of detected and suppressed errors, rerun with: -v
==27730== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
Продублировал на пасте
https://pastebin.com/QyVNaDAb
источник

L

Lee Armstrong in ГОРИ
Кто как решает проблему нескольких компонентов на одной сущности в ecs? У меня вот библиотека не поддерживает несколько компонентов.

Нужно отзеркалить эвенты окна в компоненты и если это эвенты клавиатуры, то вполне себе может быть несколько компонентов за 1 кадр.
источник

СС

Сергей Субботин... in ГОРИ
Lee Armstrong
Кто как решает проблему нескольких компонентов на одной сущности в ecs? У меня вот библиотека не поддерживает несколько компонентов.

Нужно отзеркалить эвенты окна в компоненты и если это эвенты клавиатуры, то вполне себе может быть несколько компонентов за 1 кадр.
Пардоньте, как так то? Несколько одинаковых компонентов? Библиотеку сами пишите?
источник

L

Lee Armstrong in ГОРИ
Сергей Субботин
Пардоньте, как так то? Несколько одинаковых компонентов? Библиотеку сами пишите?
Нет, готовую использую.
источник

СС

Сергей Субботин... in ГОРИ
Блжт.  Хз, гляньте как это реализовано в либе Эшли к либгдх. Да, там джава, но понятно всё
источник

L

Lee Armstrong in ГОРИ
источник

L

Lee Armstrong in ГОРИ
Сергей Субботин
Блжт.  Хз, гляньте как это реализовано в либе Эшли к либгдх. Да, там джава, но понятно всё
не хотелось бы в дебри  библиотек залезать
источник

L

Lee Armstrong in ГОРИ
Мне бы пару идей как решить это на уровне пользователя либы)
источник

СС

Сергей Субботин... in ГОРИ
Lee Armstrong
не хотелось бы в дебри  библиотек залезать
Да там смотреть не на что. Крайне микроскопическая либа
источник

L

Lee Armstrong in ГОРИ
таки да
источник

СС

Сергей Субботин... in ГОРИ
Но я чёт так и не догнал. Либа позволяет повесить на сущность только один компонент и всё?
источник

L

Lee Armstrong in ГОРИ
Да, только один.
Я придумал такую вещь что бы много навесить
struct KeyEvent {
   int key;
   entity next;
}
Где next это энтить с компонентом KeyEvent
источник

L

Lee Armstrong in ГОРИ
И хотел бы услышать другие варианты запила данной фичи
источник

L

Lee Armstrong in ГОРИ
Ну или мысли на этот счет
источник

АФ

Артём Фесуненко... in ГОРИ
Lee Armstrong
Ну или мысли на этот счет
Сменить фреймворк на тот, где нет таких дебильных ограничений.
источник

L

Lee Armstrong in ГОРИ
Артём Фесуненко
Сменить фреймворк на тот, где нет таких дебильных ограничений.
например?
источник

СС

Сергей Субботин... in ГОРИ
Артём Фесуненко
Сменить фреймворк на тот, где нет таких дебильных ограничений.
Бинго
источник

СС

Сергей Субботин... in ГОРИ
Lee Armstrong
например?
Либгдх😂
источник

СС

Сергей Субботин... in ГОРИ
Какая разница что ща яп если ты просто изучаешь данный паттерн
источник

АФ

Артём Фесуненко... in ГОРИ
Lee Armstrong
например?
DOTS, LeoECS, Actors.
источник