Вверх ↑
Этот топик читают: Гость
Ответов: 1528
Рейтинг: 57
#1: 2011-01-22 19:31:47 ЛС | профиль | цитата
(QProgressBar) - вот такой прогресс бар сейчас стоит для определения средней нагрузки на 2 ядра, но как оказалось при перерисовке оного стали подёргиваться PaintBox-ы, даже переписал всю математику на FTCG в поисках решения проблемы.
Как бы сказал сами знаете кто , некошерно тратить бесценное время CPU на столь сложные (1600 строк кода только в KOL-е к нему), но не слишком полезные вещи.
Думаю отрисовать тоже самое хоть на том же ChildPanel или может кто знает как сотворить оное на PaintBox-е?

------------ Дoбавленo в 19.31:
Незнаю как с Layout работать, если их раскидать равномерно с промежутком в 1 пиксель можно было бы создать полу-полноценный бар

Add(MainForm,2953706,434,196)
{
Color=-16777194
}
Add(ChildPanel,14377213,476,196)
{
}
BEGIN_SDK
Add(EditMulti,4034326,21,21)
{
}
Add(Panel,7194257,28,28)
{
Left=95
Top=60
Width=225
Height=95
Color=536870911
}
Add(ChildPanel,5387392,147,140)
{
}
BEGIN_SDK
Add(EditMulti,10965247,21,21)
{
Width=713
}
Add(Panel,6334748,28,28)
{
Left=66
Top=46
Width=63
Height=10
Color=536870911
WinStyle=1
BorderWidth=0
BevelInner=0
BevelWidth=0
}
Add(ChildPanel,7205642,28,77)
{
}
BEGIN_SDK
Add(EditMulti,13627674,21,21)
{
WorkCount=1
link(doWork1,706993:doColor,[(28,27)(28,41)])
}
Add(Panel,706993,35,28)
{
Width=2
Height=10
Color=255
WinStyle=1
BorderWidth=0
BevelInner=0
BevelWidth=0
Point(doColor)
}
END_SDK
Add(ChildPanel,16522710,63,77)
{
}
BEGIN_SDK
Add(EditMulti,7947728,21,21)
{
WorkCount=1
link(doWork1,16610530:doColor,[(25,27)(25,41)])
}
Add(Panel,16610530,28,28)
{
Left=3
Width=2
Height=10
Color=255
WinStyle=1
BorderWidth=0
BevelInner=0
BevelWidth=0
Point(doColor)
}
END_SDK
Add(ChildPanel,15603711,98,77)
{
}
BEGIN_SDK
Add(EditMulti,14673363,21,21)
{
WorkCount=1
link(doWork1,8181219:doColor,[(25,27)(25,41)])
}
Add(Panel,8181219,28,28)
{
Left=6
Width=2
Height=10
Color=255
WinStyle=1
BorderWidth=0
BevelInner=0
BevelWidth=0
Point(doColor)
}
END_SDK
Add(ChildPanel,4552,133,77)
{
}
BEGIN_SDK
Add(EditMulti,14657597,21,21)
{
WorkCount=1
link(doWork1,1479803:doColor,[(25,27)(25,41)])
}
Add(Panel,1479803,28,28)
{
Left=9
Width=2
Height=10
Color=255
WinStyle=1
BorderWidth=0
BevelInner=0
BevelWidth=0
Point(doColor)
}
END_SDK
Add(ChildPanel,3381079,168,77)
{
}
BEGIN_SDK
Add(EditMulti,551850,21,21)
{
WorkCount=1
link(doWork1,11803375:doColor,[(25,27)(25,41)])
}
Add(Panel,11803375,28,28)
{
Left=12
Width=2
Height=10
Color=255
WinStyle=1
BorderWidth=0
BevelInner=0
BevelWidth=0
Point(doColor)
}
END_SDK
Add(ChildPanel,8327740,203,77)
{
}
BEGIN_SDK
Add(EditMulti,15799307,21,21)
{
WorkCount=1
link(doWork1,15036218:doColor,[(25,27)(25,41)])
}
Add(Panel,15036218,28,28)
{
Left=15
Width=2
Height=10
Color=255
WinStyle=1
BorderWidth=0
BevelInner=0
BevelWidth=0
Point(doColor)
}
END_SDK
Add(ChildPanel,3111849,238,77)
{
}
BEGIN_SDK
Add(EditMulti,11696281,21,21)
{
WorkCount=1
link(doWork1,6163637:doColor,[(25,27)(25,41)])
}
Add(Panel,6163637,28,28)
{
Left=18
Width=2
Height=10
Color=255
WinStyle=1
BorderWidth=0
BevelInner=0
BevelWidth=0
Point(doColor)
}
END_SDK
Add(ChildPanel,9937041,273,77)
{
}
BEGIN_SDK
Add(EditMulti,2786786,21,21)
{
WorkCount=1
link(doWork1,6115940:doColor,[(25,27)(25,41)])
}
Add(Panel,6115940,28,28)
{
Left=21
Width=2
Height=10
Color=255
WinStyle=1
BorderWidth=0
BevelInner=0
BevelWidth=0
Point(doColor)
}
END_SDK
Add(ChildPanel,10886482,308,77)
{
}
BEGIN_SDK
Add(EditMulti,15444815,21,21)
{
WorkCount=1
link(doWork1,16530071:doColor,[(25,27)(25,41)])
}
Add(Panel,16530071,28,28)
{
Left=24
Width=2
Height=10
Color=255
WinStyle=1
BorderWidth=0
BevelInner=0
BevelWidth=0
Point(doColor)
}
END_SDK
Add(ChildPanel,14473142,343,77)
{
}
BEGIN_SDK
Add(EditMulti,12543917,21,21)
{
WorkCount=1
link(doWork1,7912850:doColor,[(25,27)(25,41)])
}
Add(Panel,7912850,28,28)
{
Left=27
Width=2
Height=10
Color=255
WinStyle=1
BorderWidth=0
BevelInner=0
BevelWidth=0
Point(doColor)
}
END_SDK
Add(ChildPanel,1253456,378,77)
{
}
BEGIN_SDK
Add(EditMulti,9159051,21,21)
{
WorkCount=1
link(doWork1,11083614:doColor,[(25,27)(25,41)])
}
Add(Panel,11083614,28,28)
{
Left=30
Width=2
Height=10
Color=255
WinStyle=1
BorderWidth=0
BevelInner=0
BevelWidth=0
Point(doColor)
}
END_SDK
Add(ChildPanel,6159250,413,77)
{
}
BEGIN_SDK
Add(EditMulti,14619259,21,21)
{
WorkCount=1
link(doWork1,9202706:doColor,[(25,27)(25,41)])
}
Add(Panel,9202706,28,28)
{
Left=33
Width=2
Height=10
Color=255
WinStyle=1
BorderWidth=0
BevelInner=0
BevelWidth=0
Point(doColor)
}
END_SDK
Add(ChildPanel,1975079,448,77)
{
}
BEGIN_SDK
Add(EditMulti,15498117,21,21)
{
WorkCount=1
link(doWork1,15536662:doColor,[(25,27)(25,41)])
}
Add(Panel,15536662,28,28)
{
Left=36
Width=2
Height=10
Color=255
WinStyle=1
BorderWidth=0
BevelInner=0
BevelWidth=0
Point(doColor)
}
END_SDK
Add(ChildPanel,175455,483,77)
{
}
BEGIN_SDK
Add(EditMulti,2810209,21,21)
{
WorkCount=1
link(doWork1,5321541:doColor,[(25,27)(25,41)])
}
Add(Panel,5321541,28,28)
{
Left=39
Width=2
Height=10
Color=255
WinStyle=1
BorderWidth=0
BevelInner=0
BevelWidth=0
Point(doColor)
}
END_SDK
Add(ChildPanel,7706303,518,77)
{
}
BEGIN_SDK
Add(EditMulti,1016901,21,21)
{
WorkCount=1
link(doWork1,5066733:doColor,[(25,27)(25,41)])
}
Add(Panel,5066733,28,28)
{
Left=42
Width=2
Height=10
Color=255
WinStyle=1
BorderWidth=0
BevelInner=0
BevelWidth=0
Point(doColor)
}
END_SDK
Add(ChildPanel,7183625,553,77)
{
}
BEGIN_SDK
Add(EditMulti,13847893,21,21)
{
WorkCount=1
link(doWork1,13962753:doColor,[(25,27)(25,41)])
}
Add(Panel,13962753,28,28)
{
Left=45
Width=2
Height=10
Color=255
WinStyle=1
BorderWidth=0
BevelInner=0
BevelWidth=0
Point(doColor)
}
END_SDK
Add(ChildPanel,6387523,588,77)
{
}
BEGIN_SDK
Add(EditMulti,12138248,21,21)
{
WorkCount=1
link(doWork1,9918231:doColor,[(25,27)(25,41)])
}
Add(Panel,9918231,28,28)
{
Left=48
Width=2
Height=10
Color=255
WinStyle=1
BorderWidth=0
BevelInner=0
BevelWidth=0
Point(doColor)
}
END_SDK
Add(ChildPanel,5296019,623,77)
{
}
BEGIN_SDK
Add(EditMulti,4639251,21,21)
{
WorkCount=1
link(doWork1,13167855:doColor,[(25,27)(25,41)])
}
Add(Panel,13167855,28,28)
{
Left=51
Width=2
Height=10
Color=255
WinStyle=1
BorderWidth=0
BevelInner=0
BevelWidth=0
Point(doColor)
}
END_SDK
Add(ChildPanel,12180994,658,77)
{
}
BEGIN_SDK
Add(EditMulti,1595809,21,21)
{
WorkCount=1
link(doWork1,4262571:doColor,[(25,27)(25,41)])
}
Add(Panel,4262571,28,28)
{
Left=54
Width=2
Height=10
Color=255
WinStyle=1
BorderWidth=0
BevelInner=0
BevelWidth=0
Point(doColor)
}
END_SDK
Add(ChildPanel,13488753,693,77)
{
}
BEGIN_SDK
Add(EditMulti,15686650,21,21)
{
WorkCount=1
link(doWork1,8135661:doColor,[(28,27)(28,41)])
}
Add(Panel,8135661,35,28)
{
Left=57
Width=2
Height=10
Color=255
WinStyle=1
BorderWidth=0
BevelInner=0
BevelWidth=0
Point(doColor)
}
END_SDK
END_SDK
Add(Label,6911229,147,101)
{
Left=66
Top=30
Width=29
Height=17
Color=536870911
Font=[MS Sans Serif,8,1,16777215,1]
Caption="CPU"
}
END_SDK
карма: 0

0
Ответов: 4641
Рейтинг: 334
#2: 2011-01-22 21:55:45 ЛС | профиль | цитата
немного не понял откуда QProgressBar ?
или речь идет о LedLadder
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Разработчик
Ответов: 26113
Рейтинг: 2126
#3: 2011-01-22 22:13:35 ЛС | профиль | цитата
Шериф -- это самопал. LedLadder не использует сторонний KOL, в отличии от QProgressBar, в котором
hitman249 писал(а):
1600 строк кода только в KOL-е к нему

карма: 22

0
Ответов: 1528
Рейтинг: 57
#4: 2011-01-22 22:15:30 ЛС | профиль | цитата
http://hiasm.com/xf/attach/files/qprogressbar_1.1.zip
это не штатный, но красивый компонент)

Лучше проясни ситуацию с Layout, весь моск сломал, ну не могу я понять как их сдружить чтобы равномерно всю площадь занимали
code_22268.txt
карма: 0

0
файлы: 1code_22268.txt [10.1KB] [561]
Ответов: 4641
Рейтинг: 334
#5: 2011-01-22 22:20:42 ЛС | профиль | цитата
hitman249 писал(а):
Лучше проясни ситуацию с Layout

лучше скажи чем не устраивает
Ravilr писал(а):
LedLadder

карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 1528
Рейтинг: 57
#6: 2011-01-22 22:25:03 ЛС | профиль | цитата
Ravilr писал(а):
лучше скажи чем не устраивает

стиль у него не нравится, QProgressBar красиво смотрится, но тратит неоправданно много ЦП + проблемы с перерисовкой под ХР (если свернуть и назад развернуть окно с программой, видно то, что было за окном и так останется пока значение прогрессбара не изменится)
карма: 0

0
Разработчик
Ответов: 26113
Рейтинг: 2126
#7: 2011-01-22 22:35:08 ЛС | профиль | цитата
hitman249 писал(а):
стиль у него не нравится

Можно подумать, что то, что ты отрисовал на панелях лучше смотриться
карма: 22

0
Ответов: 1528
Рейтинг: 57
#8: 2011-01-22 22:37:25 ЛС | профиль | цитата
nesco, вообщето оно смотрится также как тут
или оно както изменилось от того, что все кубики одного цвета ?)
[flood]залей первый ChildPanel черным цветом и увидишь[/flood]
карма: 0

0
Разработчик
Ответов: 26113
Рейтинг: 2126
#9: 2011-01-22 22:44:27 ЛС | профиль | цитата
Но есть один огромный недостаток такого метода -- огромный расход GDI ресурсов системы, что очень сильно сказывается на быстродействие приложения. Каждая панель -- это контрол, который система постоянно перерисовывает. Короче, так никто не делает, все просто отрисовывают нужные квадраты на обычном PaintBox-e
карма: 22

0
Ответов: 1528
Рейтинг: 57
#10: 2011-01-22 22:50:55 ЛС | профиль | цитата
nesco писал(а):
на обычном PaintBox-e

только с ним опыт общения у меня дальше визуализации эквалайзера не зашёл
может примерчик есть ?
карма: 0

0
Ответов: 1379
Рейтинг: 86
#11: 2011-01-22 22:56:02 ЛС | профиль | цитата
hitman249, из-за интереса к теме чуть сваял code_22269.txt
карма: 0

0
файлы: 1code_22269.txt [1.3KB] [291]
Ответов: 1528
Рейтинг: 57
#12: 2011-01-22 23:12:07 ЛС | профиль | цитата
petrocan, а как насчет начало зелёные, конец красные.
одним цветом это не то + подложка как реализуется, картинка под элемент ?)
карма: 0

0
Ответов: 4641
Рейтинг: 334
#13: 2011-01-22 23:21:17 ЛС | профиль | цитата
[offtop]petrocan, а как насчет не давать схему, а подсказать?? [/offtop]
------------ Дoбавленo в 23.21:
hitman249, кстати... если бы я ничего не знал.. я бы взял картинку и закрывал бы ее справа чем нибудь и все тут.. хоть увеличением уменьшением панели...
или размер уменьшал бы Image
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Гость
Ответов: 17029
Рейтинг: 0
#14: 2011-01-22 23:30:47 правка | ЛС | профиль | цитата


Редактировалось 7 раз(а), последний 2021-06-21 04:11:40
карма: 0

0
Ответов: 4641
Рейтинг: 334
#15: 2011-01-22 23:34:27 ЛС | профиль | цитата
----
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)