Сообщение Re: Похоже, починил. от 20.12.2018 19:50
Изменено 20.12.2018 19:53 Sheridan
Re: Похоже, починил.
Дело было не в бобине.
Похоже, внутри urho3d отсутствуют проверки снутри их "умных" указателей. Причём они, похоже, это гвоно встроили везде куда могли дотянуться.
Что делаю:
Казалось бы — валидный код. Ан нет, нифига подобного. У них почти любой объект — refcounted, в том числе и этот вертексбуффер.
Далее, интерфейсы SetVertexBuffer и SetIndexBuffer явно указывают на утечки памяти, если не удалять самостоятельно. Собственно и вот. И на самом деле я до сих пор сомневаюсь что там нет утечек.
Похоже, внутри urho3d отсутствуют проверки снутри их "умных" указателей. Причём они, похоже, это гвоно встроили везде куда могли дотянуться.
Что делаю:
class cobject
{
cobject () { buf = new urho3d::vertexbyffer(); }
~cobject () { delete buf; }
urho3d::vertexbyffer *buf;
}
Казалось бы — валидный код. Ан нет, нифига подобного. У них почти любой объект — refcounted, в том числе и этот вертексбуффер.
Далее, интерфейсы SetVertexBuffer и SetIndexBuffer явно указывают на утечки памяти, если не удалять самостоятельно. Собственно и вот. И на самом деле я до сих пор сомневаюсь что там нет утечек.
Re: Похоже, починил.
Дело было не в бобине.
Похоже, внутри urho3d отсутствуют проверки снутри их "умных" указателей. Причём они, похоже, это гвоно встроили везде куда могли дотянуться.
Что делаю:
Казалось бы — валидный код. Ан нет, нифига подобного. У них почти любой объект — refcounted, в том числе и этот вертексбуффер. В результате валится в ReleaseRef(); внутри urho
Далее, интерфейсы SetVertexBuffer и SetIndexBuffer явно указывают на утечки памяти, если не удалять самостоятельно. Собственно и вот. И на самом деле я до сих пор сомневаюсь что там нет утечек.
Похоже, внутри urho3d отсутствуют проверки снутри их "умных" указателей. Причём они, похоже, это гвоно встроили везде куда могли дотянуться.
Что делаю:
class cobject
{
cobject () { buf = new urho3d::vertexbyffer(); }
~cobject () { delete buf; }
urho3d::vertexbyffer *buf;
}
Казалось бы — валидный код. Ан нет, нифига подобного. У них почти любой объект — refcounted, в том числе и этот вертексбуффер. В результате валится в ReleaseRef(); внутри urho
Далее, интерфейсы SetVertexBuffer и SetIndexBuffer явно указывают на утечки памяти, если не удалять самостоятельно. Собственно и вот. И на самом деле я до сих пор сомневаюсь что там нет утечек.