Форум программистов, компьютерный форум, киберфорум
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
грызу канифоль
 Аватар для Vasiliy
45 / 22 / 3
Регистрация: 03.12.2008
Сообщений: 265

Приложение жрёт оперативу

05.01.2010, 15:15. Показов 1982. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
собственно вот это приложение с программной графикой у меня жрёт 30(!) Мб
написано на WPF
чё за фигня? не один битмап стоко не весит в его разрешении. или так и должно быть?

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
private static Geometry CreateGeometry(Point[] points, bool closed, bool freeze)
        {
            Geometry geometry = new StreamGeometry();
            using (StreamGeometryContext ctx = ((StreamGeometry)geometry).Open())
            {
                ctx.BeginFigure(points[0], true, closed);
                ctx.PolyLineTo(points, true, false);
            }
            if (freeze)
            {
                geometry.Freeze();
            }
            return geometry;
        }
        public Window1()
        {
            AllowsTransparency = true;
            Background = new SolidColorBrush(Color.FromArgb(0, 255, 255, 255));
            InitializeComponent();
            Width = 200;
            Height = 220;
            Left = 0;
            Top = 0;
            gr_img = ((System.Drawing.Image)(new System.Drawing.Bitmap(100, 20)));
            _calc = System.Drawing.Graphics.FromImage(gr_img);
            _bar[0] = new Point(0, 20);
            _bar[1] = new Point(19, 1);
            _bar[2] = new Point(Width - 21, 1);
            _bar[3] = new Point(Width - 2, 20);
 
            _mainwindow[0] = new Point(1, 40);
            _mainwindow[1] = new Point(19, 21);
            _mainwindow[2] = new Point(Width - 1, 21);
            _mainwindow[3] = new Point(Width - 1, Height - 1);
            _mainwindow[4] = new Point(20, Height - 1);
            _mainwindow[5] = new Point(0, Height - 21);
           
            _filler.Transform = null;
        }
        System.Drawing.Image gr_img;
        Point[] _mainwindow = new Point[6];
        Point[] _bar = new Point[4];
        SolidColorBrush _filler = new SolidColorBrush(Color.FromRgb(255,255,255));
        Pen _border = new Pen(new SolidColorBrush(Color.FromRgb(100, 200, 230)), 2);
        System.Drawing.Graphics _calc;
        bool contr_sh = false;
 
        protected override void OnRender(DrawingContext graph)
        {
            int _bar_width = 0;
            if (contr_sh)
                _bar_width = (int)((_calc.MeasureString(Title, new System.Drawing.Font(System.Drawing.SystemFonts.MenuFont.Name, 10, System.Drawing.FontStyle.Regular))).Width) + 119;
            else
                _bar_width = (int)((_calc.MeasureString(Title, new System.Drawing.Font(System.Drawing.SystemFonts.MenuFont.Name, 10, System.Drawing.FontStyle.Regular))).Width) + 60;
 
            _bar[0] = new Point(Width-_bar_width, 20);
            _bar[1] = new Point(Width - _bar_width+19, 1);
            _bar[2] = new Point(Width - 21, 1);
            _bar[3] = new Point(Width - 2, 20);
 
            _mainwindow[2] = new Point(Width-1, 21);
            _mainwindow[3] = new Point(Width - 1, Height - 20);
            _mainwindow[4] = new Point(Width - 20, Height - 1);
            _mainwindow[5] = new Point(1, Height - 1);
 
            
            graph.DrawGeometry(_filler, _border, CreateGeometry(_mainwindow,true,true));
            graph.DrawGeometry(_filler, _border, CreateGeometry(_bar, false, true));
            graph.DrawText(new FormattedText(Title, System.Globalization.CultureInfo.CurrentCulture, System.Windows.FlowDirection.LeftToRight, new Typeface("Microsoft Sans Serif"), 14, SystemColors.ActiveCaptionTextBrush), new Point(Width - _bar_width + 20, 3));
}
        
        protected override void OnMouseLeftButtonDown(MouseButtonEventArgs e)
        {
            if(Mouse.GetPosition(this).Y<=20)
            DragMove();
        }
Вложения
Тип файла: zip TestDraw.zip (5.0 Кб, 22 просмотров)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.01.2010, 15:15
Ответы с готовыми решениями:

Жрёт оперативу до 100%
Всем привет. Windows 10 постоянно грузит оперативную память непонятно чем. Спустя некоторые время занято 8ГБ ОЗУ из 8, то есть 100%, и...

Softlic.exe жрёт всю оперативу и не закрывается
Softlic.exe жрёт всю оперативу и не закрывается

выбрать оперативу
Windows 7 AMD Phenom II X6 asus AMD Radeon HD 7950 ASRock 990FX Extreme3 Собрался покупать оперативную память, помогите с...

3
 Аватар для Sayrus89
32 / 32 / 7
Регистрация: 26.10.2009
Сообщений: 98
07.01.2010, 03:37
Я думаю, пора привыкать к новым аппетитам программ.
0
грызу канифоль
 Аватар для Vasiliy
45 / 22 / 3
Регистрация: 03.12.2008
Сообщений: 265
07.01.2010, 05:00  [ТС]
мда.... у меня на ноуте 8 мб оператифки и Дос летает, жипеги отображает, а тут эта фигня несколькопиксельная стоко хабает. чё они туды пихают
начинаю верить что майкросовт спецом делает всё многожрущим, чтоб народ покупал дорогие мощные компы
0
sleepy
 Аватар для sleepwalker
78 / 53 / 6
Регистрация: 29.07.2009
Сообщений: 179
07.01.2010, 22:21
BitmapImage-работа с памятью
Проблема есть. И, к сожалению решить её не удалось. Можно извращаться - совмещать все это дело с Windows Forms. Но хз... В общем, думаю, что в следующих сборках .NET все будет лучше. WPF еще сыроват.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.01.2010, 22:21
Помогаю со студенческими работами здесь

вытащил оперативу
Дело обстоит так: захотел посмотреть какая у меня ДДР(чтобы знать какую докупить:)), вытащил оперативу посмотрел вставил обратно, включил...

Не видит оперативу
Ситуация следующая. БИОС(мать MSI 760G-P43 FX) напрочь отказывается видеть 6 гигов оперативы 3х2Gb Corsair TR3X6G1600C8D, только 4 гига. ...

Стоит ли менять оперативу?
Доброго времени суток. Имею такую сборку: Материнка: MSI Z68A-GD55(B3) ver4.0 Проц: Intel core i5-3550 3.3mhz Оперативка: 3 плашки...

Не видит всю оперативу
Решил апгрейдить комп. Купил матиринку MSI G41M-P26 http://market.yandex.ru/model-spec.xml?modelid=6524445&amp;hid=91020 и оперативу...

Виндовс 7 режет оперативу
Добрый день! Примерно недели 3-4 назад стало происходить с вин 7(ультимат, sp1, никаких сборок типо зверь сд - только чистая установка с оф...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru