Ize'g0re писал(а):
Но оптимизацию лучше провести.
1. Будет козырь во время защиты работы
2. Можешь позволить себе больше
Tip:
если дело касается "непрерывной" генерации частиц, как, например, для костра или шлейфа - вместо пересоздания значительно эффективнее просто переместить частицу из "хвоста" в начало.
1) Не до этово, воще бы сдать!
Tip:
Частицы вообще, на самом деле, не генерятся. Каждому генератору при инициализации выделяется массив фиксированного размера под частицы, после чего если происходит событие "сгенерить частицу", то первая попавшаяся становится видимой, перемещается в точку генерации и получает соответствующие параметры скорости и направления движения. Если невидимые частицы в массиве кончились, то функция-генерилка просто завершает работу, а "новые" частицы появятся тогда, когда будет сделана невидимой любая из частиц массива.
Добавлено спустя 1 минуту 40 секунд:Сделал, как моно заметить, генерилку из точки, терь делаю из плоскости и некоей объемной фигуры(шара или параллелепипеда, еще не решил, как проще.)
Добавлено спустя 7 минут 22 секунды:Частицы в целом не лимитированы, лимитированы для каждого генератора. Имхо, фиксированные массивы - самый тру с точки зрения быстродействия подход.
Кстати, у меня насущная проблема: Как заставить new[] выделять адреса, выровненные в памяти, а то иначе с ними sse инструкции не пашут.
Добавлено спустя 51 секунду:__declspec что-то не помогает, может, не там его пишу?
Добавлено спустя 35 минут 42 секунды:smt005 писал(а):
2 Razum, что используешь?
В каком смысле? Использую С++, OpenGL API, freeglut, из понтового - sse инструкции для кватернионов, потом еще sse2 нарно заюзаю.