|
Жуткие тормоза в TableLayoutPanel
|
|||
---|---|---|---|
#18+
делаю простую прогу для проведения "Своей Игры". Надо чтобы игровое поле принимало размер формы и ширина/высота колонок/рядов сохранялись - процент от общей ширины/высоты. Сделал на TLP, программно создаю колонки и Label-ы в ячейки сую. Все бы хорошо, но при ресайзе формы такиииие тормоза, как будто у меня там 100+ компонент. ДаблБуфер у формы не помогает. DataGridView не подойдет, т.к. ширина колонок у него абсолютная, а надо относительную. Но если что, придется юзать ее и ручками ширины задавать при ресайзе. Еще вариант - WPF. Там хотя бы аппаратный директХ. Я лублу C# ... |
|||
:
Нравится:
Не нравится:
|
|||
31.01.2010, 12:52 |
|
Жуткие тормоза в TableLayoutPanel
|
|||
---|---|---|---|
#18+
badboychik, в винформах это так. Гладко будут работать только 5-6 контролов. Я делал нечто подобное - так к тормозам перерисовки во время ресайза пришлось привыкнуть. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.01.2010, 14:43 |
|
Жуткие тормоза в TableLayoutPanel
|
|||
---|---|---|---|
#18+
я выкинул этот tlp, сделал через DataGridView и ручное изменение ширины/высоты ячеек в OnResize. Практически не тормозит. Щас сделаю динамический размер шрифта и все. Я лублу C# ... |
|||
:
Нравится:
Не нравится:
|
|||
31.01.2010, 14:56 |
|
Жуткие тормоза в TableLayoutPanel
|
|||
---|---|---|---|
#18+
badboychikя выкинул этот tlp, сделал через DataGridView и ручное изменение ширины/высоты ячеек в OnResize. Практически не тормозит. Щас сделаю динамический размер шрифта и все. Я лублу C# У меня по-другому немного - контролы это секции ящика, их относительные координаты хранятся в базе, я просто пересчитываю новые координаты и размеры в зависимости от нового размера формы. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.01.2010, 15:44 |
|
Жуткие тормоза в TableLayoutPanel
|
|||
---|---|---|---|
#18+
тоже вариант. Самый хардкорный правда. З.Ы. Что есть ящик и где у него секции? :) Я лублу C# ... |
|||
:
Нравится:
Не нравится:
|
|||
31.01.2010, 19:02 |
|
Жуткие тормоза в TableLayoutPanel
|
|||
---|---|---|---|
#18+
badboychikтоже вариант. Самый хардкорный правда. З.Ы. Что есть ящик и где у него секции? :) Я лублу C# Ну это уже к предметной области имеет отношение. Полка на складе, ящик на полке, секция в ящике, болтик в секции. Управление автоматическим складом - в частности, секции надо показывать кладовщику с указанием откуда и сколько штук брать - чтобы укомплектовать конкретный заказ. соответственно - принцип разбивки ящика - это часть логистики склада. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.01.2010, 20:28 |
|
Жуткие тормоза в TableLayoutPanel
|
|||
---|---|---|---|
#18+
Никакого WPF не надо и даже DoubleBuffered - просто вешаете обработчики на события начала/окончания изменения размеров формы: Код: c# 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2015, 12:44 |
|
Жуткие тормоза в TableLayoutPanel
|
|||
---|---|---|---|
#18+
igenНикакого WPF не надо и даже DoubleBuffered - просто вешаете обработчики на события начала/окончания изменения размеров формы: Код: c# 1. 2. 3. 4. 5. 6.
Ну мне пробовать уже негде, я в той фирме уже не работаю, но еще помню, что интересен был как раз процесс перерисовки во время изменения размера формы - тянешь мышкой за уголок, и все перерисовывается на новый размер. (А не "все замерло, тащим мышкой угол - отпустили, все отрисовалось") :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2015, 12:49 |
|
Жуткие тормоза в TableLayoutPanel
|
|||
---|---|---|---|
#18+
Да, есть такая проблема. Т.е. у меня например сделан Background градиентом, поверх понакидан рисунок, ваш этот TableLayoutPanel в нем этак с десяток Lable. При ресайзе градиент перерисовывается, TableLayoutPanel ездит согласно макету. Мерцание сильное, границы Label - стробоскопическим эффектом, особенно заметно на XP, в .Net 4.5 вроде этот эффект меньше чем в .Net 2, не уверен. Пока забил, но потом видимо буду переделывать аккуратно без стрипов. igen, Ваш метод конечно интересен, заинтересовало - попробовал, но да, интересна качественная непрерывная перерисовка, а не замораживание. И потом он работает только для Form целиком, т.е. нельзя его применить к отдельно взятой Panel, а это уже ни в какие ворота. Мне больше нравится как в 2003-м сервере: не непрерывная перерисовка, а ездит палка-"сплиттер", а потом все взяло и туда разом переехало (качественно и экономично). В 2003-м это по дефолту,в XP это точно настраивается, настраивается ли в новых не знаю. Но по любому это настройки OS, а не проги, не будешь же юзеру его кастомизацию системы ломать ради своей проги. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2015, 13:16 |
|
Жуткие тормоза в TableLayoutPanel
|
|||
---|---|---|---|
#18+
Дмитрий77Да, есть такая проблема.. А я вот тему про альтернативную технологию почитываю - там вот только вопросы как привязать, как правильно скомпоновать (сугубо бизнес требования) - а не "как изнасиловать Winform, чтобы было как в WPF" :-))))))))) Есть такая тема (на других форумах) - ружья для подводной охоты, так там два направления - арбалеты и пневматы. В обсуждении арбалетов - главная тема - какой точнее бьет, какая цена - в теме же про пневматы - сломался, как починить, где купить поршень-клапан .... ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2015, 13:29 |
|
|
start [/forum/topic.php?fid=20&msg=36440857&tid=1401626]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
41ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 371ms |
total: | 505ms |
0 / 0 |