Size: a a a

pro.graphon (and gamedev)

2020 December 17

AP

Alexander Potapov in pro.graphon (and gamedev)
но вот когда в приложении N типов, так и хочется написать шаблонную фабрику для них
источник

AP

Alexander Potapov in pro.graphon (and gamedev)
и все гг
источник

AP

Alexander Potapov in pro.graphon (and gamedev)
https://github.com/asc-community/MxEngine/blob/master/src/Utilities/AbstractFactory/AbstractFactory.h
сей шедевр жрет немереренно в билд тайме
источник

AP

Alexander Potapov in pro.graphon (and gamedev)
все из-за моей идеи создавать фабрики вот так:
    using GraphicFactory = AbstractFactoryImpl<
       CubeMap,
       FrameBuffer,
       IndexBuffer,
       RenderBuffer,
       Shader,
       Texture,
       VertexArray,
       VertexBuffer,
       VertexBufferLayout
   >;
источник

U

UsernameAK in pro.graphon (and gamedev)
я так понимаю 9-patch текстуры можно без проблем рендерить шейдером?
источник

U

UsernameAK in pro.graphon (and gamedev)
ну такие текстуры у которых только середина растягивается
источник

TG

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

M

Mikhail in pro.graphon (and gamedev)
Alexander Potapov
напоминаю что нам нужно минимизировать
1) время разработки человеком
2) время сборки (компиляция и линковка)
3) время работы
1) -O0
2) -O0
3) -O3 + LTO + PGO
источник

M

Michael in pro.graphon (and gamedev)
Mikhail
1) -O0
2) -O0
3) -O3 + LTO + PGO
разве за О3 не бьют по рукам?
источник

M

Mikhail in pro.graphon (and gamedev)
Michael
разве за О3 не бьют по рукам?
Нет, с чего бы
источник

M

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

Тот же Qt6 собирается на О2
источник

AT

Anatoly Tomilov in pro.graphon (and gamedev)
Alexander Potapov
но вот когда в приложении N типов, так и хочется написать шаблонную фабрику для них
Если проблема в том, что ты хочешь организовать RAII для какого-то ресурса, то тебе вряд ли что-то помимо unique_ptr/shared_ptr понадобится. Ты можешь использовать кастомные Deleter-ы в них.
источник

M

Mikhail in pro.graphon (and gamedev)
Michael
мне говорили, что в нормальных проектах только О2 используется, ибо в О3 уже слишком агрессивные вещи происходят.

Тот же Qt6 собирается на О2
А хром с О3.
Если О3 ломает код, то проблема либо в коде, либо в компиляторе. И обычно она не в компиляторе
источник

AT

Anatoly Tomilov in pro.graphon (and gamedev)
да. Артель бесполезного труда.
источник

AP

Alexander Potapov in pro.graphon (and gamedev)
Anatoly Tomilov
Если проблема в том, что ты хочешь организовать RAII для какого-то ресурса, то тебе вряд ли что-то помимо unique_ptr/shared_ptr понадобится. Ты можешь использовать кастомные Deleter-ы в них.
Я описал в чем преимущество хендлов по сравнению с смарт птром
источник

AP

Alexander Potapov in pro.graphon (and gamedev)
К тому же как оказалось нельзя форсировать shared_ptr удалить объект
источник

AT

Anatoly Tomilov in pro.graphon (and gamedev)
Alexander Potapov
Я описал в чем преимущество хендлов по сравнению с смарт птром
не понял объяснения
источник

M

Michael in pro.graphon (and gamedev)
Mikhail
А хром с О3.
Если О3 ломает код, то проблема либо в коде, либо в компиляторе. И обычно она не в компиляторе
Генту, например, тоже рекомендует только О2. Ну, я так понял, это дело вкуса
источник

AT

Anatoly Tomilov in pro.graphon (and gamedev)
Alexander Potapov
К тому же как оказалось нельзя форсировать shared_ptr удалить объект
это решается double indirection (как и почти любая другая проблема =)). Ты делаешь shared_ptr<unique_ptr<T>>.
источник

AP

Alexander Potapov in pro.graphon (and gamedev)
И по сколько аллокации на каждый объект делать?
источник