Sbtrn. Devil
компилятор удаляет только лишние пары конструктор-деструктор, в большинстве случаев отладка становится проще, так как не надо думать откуда берутся и куда деваются лишние объекты...
в СТЛ нет нормальной circle_queue... с быстрой вставкой в конец и удалением из начала и использующей 1 буфер (как вектор).
есть эмуляция при помощи deque но она не очень понятная, так как использует массив буферов и queue на деке или листе...
сейчас пока сделал эмуляцию на векторе, с медленным удалением из начала, для пакетов, которые приходят вне своей очереди...
Pushkoff
> в СТЛ нет нормальной circle_queue...
в stl нет, но может circular_buffer из boost?
arabesc
> может circular_buffer из boost?
да... но это в буст...
опрос, у кого в проектах есть такое
std::vector<ref<IObject>> ?
innuendo
> опрос, у кого в проектах есть такое
У Роберта и компании) www.openscenegraph.org
Использование std::vector<Particle*> в программе из темы про "2D Шарики" в качестве списков частиц в ячейках пространства, убивало производительность насмерть - при использовании собственного класса, основанного на обычном массиве (Particle* p[MAX_COUNT], int count), время расчёта физики занимало ~3.0 ms, при использовании вектора из std оно увеличивалось до ~50 ms. (На каждом шаге в списки просто добавлялись и удалялись некоторые патиклы).
Ghost2
> > опрос, у кого в проектах есть такое
> У Роберта и компании) www.openscenegraph.org
а ты вкурсе что у них при создании по new refCouter = 0 ?
Alexander K
> Использование std::vector<Particle*> в программе из темы про "2D Шарики" в
> качестве списков частиц в ячейках пространства, убивало производительность
> насмерть - при использовании собственного класса, основанного на обычном
> массиве (Particle* p[MAX_COUNT], int count), время расчёта физики занимало ~3.0
> ms, при использовании вектора из std оно увеличивалось до ~50 ms. (На каждом
> шаге в списки просто добавлялись и удалялись некоторые патиклы).
Любую вещь можно использовать неправильно и потом строить далекоидущие выводы что эта вещь плохая, это же очевидно :).
Что помешало использовать std::vector<Particle> + reserve( MAX_COUNT ), а не городить свой огород?
Alexander K
> Использование std::vector<Particle*> в программе из темы про "2D Шарики" в
> качестве списков частиц в ячейках пространства, убивало производительность
> насмерть
о, а std::list будет ещё хуже - какой вывод ?
outcast
>>Что помешало использовать std::vector<Particle> + reserve( MAX_COUNT ), а не городить свой огород?
Незнание :) Но своему огороду всё равно доверия больше, ибо он небольшой (написал за 5-10 минут).
> Использование std::vector ... убивало производительность насмерть
"Не верю!" (C)
Alexander K
Ты случайно не пытался удалять из середины вектора?
Bigfoot
Уже не помню, из вектора же нельзя так просто удалить элемент по середине.
Ещё один минус std - ужасные названия членов классов и никаких пояснений.
Bigfoot
> Ты случайно не пытался удалять из середины вектора?
или пересозадавал каждый раз внутри DrawParticles() ?
Тема в архиве.