![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как правильно писать код
ratrov © (2008-05-19 12:47:00)Подскажите пожалуйста, вот например у меня есть код, который несколько раз за секунду прорисовывает прозрачно какую-то картинку.
В данной процедурке используется несколько временных TBitmap для получения прозрачного изображения. При в ходе в процедуру я их создаю ну и при выходе уничтожаю.
Так вот, на примере данного кода, может быть правильно было бы повесить создание\удаление этих временных TBitmap'ов на создание\деструкцию главной формы? Насколько я выиграю в производительности если не буду как сейчас постоянно создавать и освобождать их в самой процедуре?
Palladin (2008-05-19 13:12:00) [1]думаю, в контексте операций рисования затраты на создание временных объектов будут мизерными, но конечно лучше создать их сразу... по крайней мере так будет идеологически правильнее )
ratrov (2008-05-19 13:09:00) [2]ANB, спасибо.
ANB (2008-05-19 13:00:00) [3]
> ratrov (19.05.08 12:47)
Из тела цикла, который выполняется много раз, очень желательно убрать все лишнее. Все, что можно сделать до цикла - надо сделать ДО цикла.
По сабжу : создание/уничтожение объекта - не быстрая операция. Если объект можно использовать повторно, то лучше создавать до цикла и уничтожать после. Где хранить ссылку на него - это уж вопрос религии.
ИМХО : в поле формы получше будет.
ratrov (2008-05-19 12:58:00) [4]да и меня интересует не только вемя выполнения данной процедурки а соотношение время\ресурсоемкость
ratrov (2008-05-19 12:56:00) [5]да я пока не знаю где и как засекать)
я в общих чертах хотел узнать как правильно обычно это пишется.
Palladin (2008-05-19 12:48:00) [6]
> Насколько я выиграю в производительности если не буду как
> сейчас постоянно создавать и освобождать их в самой процедуре?
а написать засечь и сравнить религия не позволяет?