![]() |
утечка памяти!?
Функции GetSurfaceBrush() и GetBrushTexture() вызывают утечку памяти. При их вжопокодивании используемая приложением память начинает расти по 4-8 кб в сек. =)
вот код для тестов (кликаем один раз - память увеличивается, второй - все ок): Код:
Graphics3D 640,480,0,2 |
Ответ: утечка памяти!?
Эти функции делают копию браша\текстуры с оригинального, ибо возвращаемый адрес каждый раз новый, ну и это подтверждает быдлокод из b3dsdk:
Код:
Brush *bbGetSurfaceBrush( Surface *s ){ |
Re: утечка памяти!?
Да, так оно и работало всегда. И это правильный подход, защита "от дурака", если он задумает удалить текстуру или браш, уже использующийся на какой либо 3Д модели.
|
Ответ: утечка памяти!?
Alex.D., от куда этот код ??
|
Ответ: утечка памяти!?
Цитата:
Цитата:
|
Ответ: утечка памяти!?
в смысле "утекшая" ??
я там качал Blitz3D SDK, но у меня такого нет !! :( вот посмотрел только что, там есть СДК v1.04, v1.0 и SVN Dev !! |
Ответ: утечка памяти!?
IGR
выложили же исходники Blitz3d SDK, именно этот код находится в bbsdk/bbblitz3d.cpp начиная со строчки 712 Alex.D. никто их не тырил, сам автор их выложил http://www.blitzbasic.com/Community/...hp?topic=82502 |
Ответ: утечка памяти!?
ага, спс, разобрался !! :)
|
Re: Ответ: утечка памяти!?
Цитата:
|
Ответ: утечка памяти!?
MixailV, не все. GetSurface возвращает указатель на сюрфейс. Alex.D., а в блиц-справке так и написано, что после использования этих функций удалите полученную копию объекта. Вот тебе и решение утечки!
|
Часовой пояс GMT +4, время: 00:34. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot