Size: a a a

pro.graphon (and gamedev)

2020 December 17

AP

Alexander Potapov in pro.graphon (and gamedev)
К тому же у шареда атомики, которые вроде нельзя отключить
источник

M

Mikhail in pro.graphon (and gamedev)
Michael
Генту, например, тоже рекомендует только О2. Ну, я так понял, это дело вкуса
Для генты это актуально) ни у кого нет сил проверить все связки пакетов/компиляторов, поэтому безопасность важнее. Для отдельных приложений - изи
источник

AT

Anatoly Tomilov in pro.graphon (and gamedev)
а что за объекты? Если ты делаешь shared_ptr<unique_ptr<float>>, то конечно надо беспокоиться о "количествах аллокаций". Если же ты какой-то ресурс в памяти держишь в такой конструкции, то надо трезво оценить как часто это разыменование и аллокации происходят — является ли это проблемой для производительности, или у тебя просто психологические проблемы преждевременной оптимизации в голове.
источник

AT

Anatoly Tomilov in pro.graphon (and gamedev)
Alexander Potapov
К тому же у шареда атомики, которые вроде нельзя отключить
в 2020 не завезли shared_ptr/shared_atomic_ptr? или что-то типа того
источник

AP

Alexander Potapov in pro.graphon (and gamedev)
Alexander Potapov
это в пример того, где как раз таки я заюзал обобщенную фабрику для хендлов всех ресурсов, объектов, компонентов
Все что здесь перечислил
источник

AP

Alexander Potapov in pro.graphon (and gamedev)
То есть для условного объекта с физикой уже будет
object + rigid body component + rigid body resource + box collider component + collision object resource + mesh source component + mesh resource + mesh renderer component + material resource
источник

AT

Anatoly Tomilov in pro.graphon (and gamedev)
Alexander Potapov
Все что здесь перечислил
ну то есть вряд ли атомики/лишние аллокации и т.п. являются проблемой
источник

AT

Anatoly Tomilov in pro.graphon (and gamedev)
ладно. Зависит от количества объектов. В общем получается вся проблема в том, чтобы повторить shared_ptr, который бы не был atomic
источник

AP

Alexander Potapov in pro.graphon (and gamedev)
Anatoly Tomilov
ладно. Зависит от количества объектов. В общем получается вся проблема в том, чтобы повторить shared_ptr, который бы не был atomic
И убрать все лишние индирекции
источник

AP

Alexander Potapov in pro.graphon (and gamedev)
Потому что сейчас такой хендл в релизе просто обращается к массиву по индексу
источник

AT

Anatoly Tomilov in pro.graphon (and gamedev)
вот, кстати, интересный трюк в libstdc++:
template<typename T>
 using shared_ptr_unsynchronized = std::__shared_ptr<T, __gnu_cxx::_S_single>;
источник

AT

Anatoly Tomilov in pro.graphon (and gamedev)
частично atomic операции убирает у shared_ptr
источник

AT

Anatoly Tomilov in pro.graphon (and gamedev)
источник

AP

Alexander Potapov in pro.graphon (and gamedev)
Я не знаю почему они не сделали ему какую-нибудь synchronization_policy
источник

S

Stas in pro.graphon (and gamedev)
Anatoly Tomilov
в 2020 не завезли shared_ptr/shared_atomic_ptr? или что-то типа того
А разве блок в шареде не на атомиках 0.о?
источник

AT

Anatoly Tomilov in pro.graphon (and gamedev)
Stas
А разве блок в шареде не на атомиках 0.о?
на атомиках. Именование конечно другое должно быть
источник

TG

Timur Gagiev in pro.graphon (and gamedev)
источник

AP

Alexander Potapov in pro.graphon (and gamedev)
для Эльбруса интерпретатор работал медленно из-за невозможности процессора предсказать переходы в ветвлениях.

Ы
источник

d

disba1ancer in pro.graphon (and gamedev)
UsernameAK
а LGPL разрешает только динамическую линковку
Статически тоже можно
источник

AT

Anatoly Tomilov in pro.graphon (and gamedev)
Уменьшение количества изменений связано с тем, что новый компилятор LCC стал поддерживать стандарт С++17, и больше не надо было переписывать фрагменты кода, которые его использовали.
мдя. Немного нового полезного добавили в C++17 похоже)
источник