|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
31.07.2015, 22:13 | #21 |
Форумчанин
Регистрация: 30.06.2015
Сообщений: 353
|
Обычно принято - каждый участок кода, который собирается что-то нарисовать, просто ставит свойства как ему нужно, после рисует. И не думает что кто-то будет рисовать после него.
Мне этот подход тоже не особо нравится. Но почему через стек? Можно при создании окна создавать массивы TPen и TBrush. Перед рисованием Assign'ить нужные. Например по ID, али ещё как. Или хранить массив из 4-х или сколько там параметров Integer. Хотя в VCL эти классы работают не особо продумано... |
31.07.2015, 22:29 | #22 | ||
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
Цитата:
Цитата:
Админы, перенесите тему куда-нить, она перестала относиться к ассемблеру. Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
Последний раз редактировалось min@y™; 31.07.2015 в 22:34. |
||
31.07.2015, 23:29 | #23 |
Форумчанин
Регистрация: 30.06.2015
Сообщений: 353
|
А у вас что получается? Массив свойств в формате "4байта", только в стеке или в незнакомом мне TStack<>.
Не в курсе сильно ли изменилась реализация TPen и TBrush, но в Д7 при каждом Set%PROPERTY_NAME%() выполняется столько кода, что через Assign должно быть быстрее, как минимум не медленнее. Сомневаюсь что Эмбасы это как-то сильно оптимизировали. Насчёт жирности - не вижу ничего жирного в паре строк вида: Код:
|
31.07.2015, 23:44 | #24 | |||
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
Цитата:
(размер_области_памяти_под_TPen + размер_области_памяти_под_TBrush) / 7. Причём, естественно, размер_области_памяти_под_Txxx ≠ SizeOf(Txxx) = 4 байта. Прикинь, сколько вешать в граммах? Цитата:
Цитата:
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
Последний раз редактировалось Stilet; 01.08.2015 в 09:03. |
|||
31.07.2015, 23:51 | #25 |
Форумчанин
Регистрация: 30.06.2015
Сообщений: 353
|
Ну и что? Оперативка нынче не в граммах меряется. Вы сперва скорость оптимизировали, теперь почему-то память считаете? Бывает что-то одно.
А сколько у вас планируется разных кистей и ручек? При Create окна создали по 10-20 штук и хватит, пусть живут до Destroy. Я в курсе что есть <T>, я про ваш предыдущий вариант. |
01.08.2015, 00:12 | #26 | ||
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
Цитата:
Цитата:
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
||
01.08.2015, 00:21 | #27 |
Форумчанин
Регистрация: 30.06.2015
Сообщений: 353
|
Вы первый сказали мол сколько вешать.
Посмотрите что делается при выполнении "P.Width:=...", "P.Color:=..." и прочих вызовах. Может в вашей версии Делфи там не через одно место... А я бы просто сравнил шустрость в RunTime. |
01.08.2015, 02:50 | #28 | |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
Цитата:
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
|
01.08.2015, 07:40 | #29 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
Есть системные вызовы SaveDC() / RestoreDC()
|
01.08.2015, 09:03 | #30 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Темку перенес.
I'm learning to live...
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Плагины OllyDump для OllyDbg- какой из плагинов круче? | Dimka-novitsek | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 2 | 29.08.2014 23:46 |
давайте вместе игру зделаем круче варкрафта | Coel | Свободное общение | 24 | 27.02.2010 16:05 |
надо чтобы комп автоматически перезагружался, а ещё круче чтоб вырубался | steck | Общие вопросы Delphi | 3 | 01.04.2007 15:52 |