Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование в среде .NET (ASP.NET,ADO.NET) на C#/VB.NET

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162

Открыть новую тему     Написать ответ в эту тему

Xttx



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Итак, после читки всех статей (кстати, спасибо!), и угробленных нервов, произведенные замеры показали что: при запуске программы она занимает в памяти около 60мб (много, конечно, ну да Бог с ней). Во время первого цикла анимации (на 20-30фпс) количество занимаемой памяти непременно растёт, и в конце цикла доходит до 160мб, после чего анимация прокручиваеться стабильно на 97фпс!
Ещё раз залез в мсдн/советы по оптимизации, выполнил все рекоммендации, теперь картинки грузяться так:
    Dim uriBitmap() As BitmapDecoder
    Dim cachedSource() As CachedBitmap
************************************
        ReDim uriBitmap(LabelTextureFiles.GetUpperBound(0))
        ReDim cachedSource(LabelTextureFiles.GetUpperBound(0))
        For Each Item In LabelTextureFiles
            uriBitmap(counter) = BitmapDecoder.Create(New Uri(Item, UriKind.Absolute), BitmapCreateOptions.DelayCreation, BitmapCacheOption.OnLoad)
            cachedSource(counter) = New CachedBitmap(uriBitmap(counter).Frames(0), BitmapCreateOptions.None, BitmapCacheOption.OnLoad)
            counter = counter + 1
        Next
*************************************
Теперь уже при запуске проги имеем 210 мб занятой памяти! (конечно, теперь же используються два массива с картинками, причем с одинаковыми, только разных типов).
И что мы получили? Ровным счётом ничего! Занимаемая память в процессе первого цикла анимации больше не увеличиваеться (что говорит о том, что все битмэпы загружены в память), но этот самый первый цикл воспроизводиться по прежнему на 20-30фпс
 
Снова читаем о производительности, снова нервы, снова немного головной боли и..... С поправкой на то что я всё правильно понял, то при первом цикле анимации они кэшируються не в СИСТЕМНУЮ память, а в ВИДЕО, и только после этого может иметь место аппаратное ускорение, а первый цикл, стало быть воспроизводиться в програмном режиме....
Ещё одна тупиковая ветвь эволюции этой проги....
Опять бьюсь башкой об столь...

Всего записей: 539 | Зарегистр. 04-07-2002 | Отправлено: 23:05 04-07-2009
Omicron_Persey_8



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А с использованием видео в качестве кисти ничего не получилось?

Всего записей: 282 | Зарегистр. 02-09-2007 | Отправлено: 09:17 06-07-2009
Xttx



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Omicron_Persey_8

Цитата:
А с использованием видео в качестве кисти ничего не получилось?

Увы, видео не видит. Тут может быть то, что у меня вырезан WMP, а он может его использовать..... Да уже дело и не в этом:
Я разобрался как закэшировать в видео память все картинки (достаточно их просто все показать в одном кадре, можно друг на друге), и тот пример, с четырмя метками, идёт на ура.... Я даже проще метод нашел: компиляция в 32х битном режиме. С 64мя битами у микрософта вообще всё довольно туманно, нельзя, например использовать MSJet, нету DirectX with managrd code.... Одним словом под 32 бита всё пошло сразу и без всякого кэширования. С четырмя метками. Всё бы хорошо....
 
......когда я увеличил их до 9и, я понял что на WPF я ничего не смогу сделать. 25-30фпс максимум, даже после нескольких прокруток. А мне надо не 9, а хотя бы 15!
 
Сейчас пробую интегрировать флэш анимацию в WinForms. Вроде получаеться, но нужно динамически создавать ролик, и чтоб он реагировал на команды из вне.... Вобщем пошёл по другому пути.
 
PS. Спасибо тебе за советы и за ссылки! Теперь хоть буду знать что за зверь такой - WPF.
 

Всего записей: 539 | Зарегистр. 04-07-2002 | Отправлено: 10:27 06-07-2009
Omicron_Persey_8



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Xttx
Я вот кстати не подумал, что WPF может WMP для вывода видео использотать... Ну ладно, в природе есть еще анимированные gif'ы, их не пробовал применять? Я в этой теме уже примеры по этому поводу выкладывал, правда под WinForms.  
У меня система Core 2 Quad 9400, 8 Гб оперы, GeForce 260, на ней я пробовал ставить 18 меток и было те же 60 fps...
 
Добавлено:
DragonSigh
Хотелось бы на прогу целиком взглянуть, чтобы понять, что и откуда она берет

Всего записей: 282 | Зарегистр. 02-09-2007 | Отправлено: 13:08 06-07-2009
Xttx



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Omicron_Persey_8
Не в службу а в дружбу, не пришлешь код с восемнадцатью метками который 60 фпс выдает??? Как есть. Просто вдруг я как-то косо метки добавляю... Или чего-то недоделываю, или наоборот переделываю...... Не верю что такая разница. Это получаеться в 8 раз (в 2 раза больше меток, в 4 раза больше скорость)!
Заранее спасибо!

Всего записей: 539 | Зарегистр. 04-07-2002 | Отправлено: 20:22 06-07-2009
Omicron_Persey_8



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Xttx
Код весь твой, только здесь менял

Код:
 
 Dim Labels() As String = {"Типа 1", "Меню 2", "Метка 3", "И типо Выход", "Метка 3", "И типо Выход", "Еще метка", "И еще метка", "Типа 1", "Меню 2", "Метка 3", "И типо Выход", "Еще метка", "И еще метка", "Типа 1", "Меню 2", "Метка 3", "И типо Выход", "Еще метка", "И еще метка"}

Весь проект не выложу, а то с моим инетом его выкачивать полночи.
Вот скрин:
 

Всего записей: 282 | Зарегистр. 02-09-2007 | Отправлено: 23:20 06-07-2009
Xttx



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
10-12fps. Умываю руки

Всего записей: 539 | Зарегистр. 04-07-2002 | Отправлено: 12:46 07-07-2009
Omicron_Persey_8



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Xttx
Слушай, а чего хоть такое делал, что сразу на анимированную графику потянуло?

Всего записей: 282 | Зарегистр. 02-09-2007 | Отправлено: 20:08 08-07-2009
Xttx



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Omicron_Persey_8
Медиа центр.....
Я года четыре назад начал писать (и, в принципе, и сейчас иногда добавляю функционал), фронт-энд для эмуляторов. Там сейчас поддерживаеться 48 систем и 19 копмьютеров + МАМЕ...
А сейчас сделал апгрейд двух своих компов, в результате которых получился третий Правда без корпуса, но прекрасно работает в коробке.
Я его на кухню поставил, радио-телевизоро-медиа плейер из него сделать хочу. Даже пульт дистанционный уже купил. А в качестве п/о решил сделать свою оболочку на базе того, уже имеющегося фронтенда. Так там с навигацией дурдом - пульт ду работает в режиме эмуляции клавиатуры и посылает коды типа "ctrl + shift + H", так что контролы WinForm-овские всё равно переписывать. Ну захотелось и интерфейс сделать графический, наподобие GameEx, что б потом людям было не стыдно выложить .
 
От идеи я не отказался, я ещё помучаюсь Но только уже не с WPF!
Сейчас пробую Directx. На DirectDraw у меня уже начало что-то получаться, когда выяснилось что в DX9 оно уже не поддерживаеться. Сейчас учу Direct3D. Уже умею рисовать полигон на весь экран, и текстурить его картинками из файла.
Осталось научиться рисовать текст (тут я думаю проблем не будет), и разобраться с масками (вот тут я предвкушаю больши-и-ие проблемы, ибо кажеться там их нет вообще!)...
Вот так.

Всего записей: 539 | Зарегистр. 04-07-2002 | Отправлено: 21:39 08-07-2009
Omicron_Persey_8



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Xttx
Ну, успехов

Всего записей: 282 | Зарегистр. 02-09-2007 | Отправлено: 13:45 09-07-2009
rain_sx



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вопросик:
 
1. Создаю форму 1, закидываю на нее DataGridView
2. Хочу создать форму 2, которая наследует от формы 1 (т.е правой кнопкой по проекту, добавить, windows forms, форма-наследник).
 
Форма создается, все элементы перенимаются, но почему то например кнопки  текстбоксы я могу в форме 2 менять, а вот DataGridView имеет сверху слева замочек  
 
Знает ли кто, как его убрать?  Modifiers=Public на DataGridView в form1 не помогает..
Спасибо!
 
update:
 
Проблема известна MS ( https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=284335 , решение нашлось примерно там же: https://connect.microsoft.com/VisualStudio/feedback/Workaround.aspx?FeedbackID=284335 ).
 
Спасибо!
 

Всего записей: 46 | Зарегистр. 27-02-2009 | Отправлено: 02:50 12-07-2009 | Исправлено: rain_sx, 03:08 12-07-2009
Felias Fogg

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
по MS Visual Studio - как перевести на русский слово "solution"?  
Перевожу методичку по C#. Возможные варианты - "раствор" и "решение". Так как solution - это группа из разных проектов (к тому же, на разных языках), то вариант "раствор" ближе. Но звучит он как-то некрасиво " скомпилируйте и запустите раствор". Какие еще варианты есть?

Всего записей: 28 | Зарегистр. 11-11-2008 | Отправлено: 19:15 13-07-2009
V0lt



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Felias Fogg

Цитата:
Какие еще варианты есть?

А зачем выдумывать, есть же русские версии (в том числе и бесплатные). Установи и посмотри.

Всего записей: 10493 | Зарегистр. 05-02-2003 | Отправлено: 21:48 13-07-2009
BlackVetal



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Felias Fogg
"Решение" - это и есть перевод в данном контексте слова "solution". Исходить надо не от того в твоем "решении" проекты на разных языках - а из того что твой "solution" содержит инструменты решения задачи.

Всего записей: 1094 | Зарегистр. 13-11-2005 | Отправлено: 06:12 14-07-2009
Felias Fogg

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А допустимо ли пееводить "StatusStrip control" как "контрол StatusStrip"? "'элемент управления" это слишком длинно

Всего записей: 28 | Зарегистр. 11-11-2008 | Отправлено: 15:51 15-07-2009
Omicron_Persey_8



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Felias Fogg
Для своих сойдет, для более широкого круга - лучше "элемент управления"

Всего записей: 282 | Зарегистр. 02-09-2007 | Отправлено: 16:19 15-07-2009
rostomova

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
подскажите пожалуйста как программно можно залогиниться?
т.е. на портале лежит pdf файл, который читает программа, но чтобы этот файл прочитать нужно залогиниться, т.е. например при открытие ссылки на файл в браузере вылазиет запрос логина и пароля.

Всего записей: 2 | Зарегистр. 16-07-2009 | Отправлено: 12:33 16-07-2009
V0lt



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
rostomova

Цитата:
подскажите пожалуйста как программно можно залогиниться?

_http://user:password@site.com/file.pdf

Всего записей: 10493 | Зарегистр. 05-02-2003 | Отправлено: 18:55 16-07-2009 | Исправлено: V0lt, 18:56 16-07-2009
avkorets



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребят а не подскажите как получить список ТОЛЬКО файлов в директории на фтп?
юзаю WebRequestMethods.Ftp.ListDirectory
а то у меня отображает как файлы так и директории..
 
и еще вопросик мне с фтп необходимо ПЕРЕМЕСТИТЬ файл в другое место на фтп, а так же скопировать на локал.
Перед каждым шагом я заново создаю  
(FtpWebRequest)FtpWebRequest.Create
так вот возможно ли упростить данную процедуру переноса и копирования не создавая по нескольку раз FtpWebRequest?

Всего записей: 81 | Зарегистр. 09-09-2008 | Отправлено: 19:18 16-07-2009
mihas83



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Рубордовцы, подскажите по C#...
 
Создаю динамическую таблицу, в которую поднимаю данные из ХML-файла и другие фишки.
Каждая строка таблицы -это отдельный уровень в игре. Среди всего прочего, в каждой строке с данными по уровню появляется динамический CheckBox. Каким образом можно заставить C# проверять отмечен ли CheckBox и в зависимости от этого отправить данные в ХML-файл? С учетом того, что CheckBoxы динамические.  
 
Второй вопрос тоже по динамической таблице... Одна из ячеек таблицы является ImageButton-ом. Всё отображается как положено. Подскажите только, как правильно прописать линк в ImageButton (функцию, которая будет отправлять пользователя на другую страницу).
 
Кусочек кода...

Цитата:
 
                //Adiing Edit button to table
                TableCell cellEdit = new TableCell();
                ImageButton myEdit = new ImageButton();
                myEdit.ImageUrl = "~/images/EDIT.png";
                cellEdit.Controls.Add(myEdit);
                ro.Cells.Add(cellEdit);
 
 
                //Adiing Publish checkbox to table
                TableCell cellPublish = new TableCell();
                CheckBox myPublish = new CheckBox();
                myPublish.ID = "chk" + levNumb;
                cellPublish.Controls.Add(myPublish);
                ro.Cells.Add(cellPublish);
                //if (myPublish.Checked)  
                //{
                //    Label1.Text = "CheckBox checked";
                //}
 

Всего записей: 7832 | Зарегистр. 15-07-2003 | Отправлено: 22:39 16-07-2009
Открыть новую тему     Написать ответ в эту тему

Страницы: 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 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование в среде .NET (ASP.NET,ADO.NET) на C#/VB.NET


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru