Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Gui

12K
29 марта 2006 года
Valkov
6 / / 08.08.2005
Подкажите пожалуйста, есть у меня собственный набор
контролов, использующие собственные скины.
Для подрузки скинов используется свой менеджер, который подргужает скины, и передаёт их контролам.

Проблемма заключается в следующем:

При наличии большого колличества контролов на форме
очень долгая отрисвка формы.
(Для всех контролов установлено необходимые SetStyle(...))
Если кто ни будь сталкивался с проблеммой долгой отрисовки,
подскажите плизз, или как зделать так, что бы GUI использовла ресурсы видеокарты, а не процессора.
273
30 марта 2006 года
3A3-968M
1.2K / / 22.12.2005
Есть несколько решений: использовать возможности GDI+ в Windows Forms. Второе решение - юзай Managed DirectX, и, наконец, третье - используй WinAPI-функции. Последний вариант не будет CLS Compliant.
12K
30 марта 2006 года
Valkov
6 / / 08.08.2005
Сбасибо, д.к.
1. GUI+ И так, всё через него.
2. API не могу, т.к. все должно работать под MONO.

Managed DirectX - можно по подробнее,
что именно ты имееш ввиду,
если не рисование контролов через DirectX.
273
30 марта 2006 года
3A3-968M
1.2K / / 22.12.2005
Не GUI+, а GDI+ (Graphic Device Interface). Библиотека .NET Framework содержит классы для работы с графическим интерфейсом устройств (тот самый GDI), такие классы как GraphicsPath, FPoint почти весь System.Drawing. Раз ты юзаешь MONO - значит из под *nix, как ты собираешься Managed DirectX юзать? При помощи него можно рисовать примитивы и размещать их в графической памяти, весь глюк заключается в работе через хэндлы и интерфейсы. Последняя версия Managed DirectX - это 1.0.2902.0, можешь скачать на сайте мелкомягких
12K
30 марта 2006 года
Valkov
6 / / 08.08.2005
По GDI, сорри, просто очепятка.
Естественно все через регоины и Gr Path
DirectX - вообще юзать не собирался даже,
просто думал, иоже я чего не понял.

А проблемма вообще, не в ДНК. Перелазил весь
codeproject, rsdn и т.д. Пока один 10 20 контролов
всё ок. А когда их на табе из 10 вкладок всего штук 200
перещиывается долго, а если перещитывать
только при переключении по табам, то все равно видно,
не успевает прорелизиться.

И самое обидное что железо навароченое, а не калькулятор :{
273
31 марта 2006 года
3A3-968M
1.2K / / 22.12.2005
Единственное, что приходит в голову - это распараллелить прорисовку. Если проц поддерживает HyperThreading, то прирост будет в десятки раз. Распаралель при помощи Threading. Но не увлекайся, максимум потоков 5.
12K
03 апреля 2006 года
Valkov
6 / / 08.08.2005
Да, ты прав, единственное почему максимум потоков 5
ведь в одном должен идти функционал
плюс делигаты и т.д. ?
273
03 апреля 2006 года
3A3-968M
1.2K / / 22.12.2005
Да 5 не критично, просто код сложный будет. Из своей практики всегда 2-3 потоками обходился
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог