Третий урок Создание класса Graph и перенос в него всех действий с графикой.
Дата отправки отчёта:
12 июля 2015 г.
Задание выполнено: за
1 час. 40 мин.
Чему научился:
Создавать классы, приводить код к более структурированному виду.
Что было сложным:
ООП все таки не совсем понятно.. может дело привычки, может надо было теорию почитать таки :)
Комментарии:
Все таки кружок у меня неравномерно движется, хотя, понимаю, что должен равномерно. Может с компьютером что не так? Посмотрел нагрузку в диспетчере задач так там Хранитель экрана проходит как ScreenSaver.vshost.exe *32 жрет 12-13% процессора и занимаемая память скачет 12832КБ-14896КБ. Я, конечно, еще совсем никакой программист, но не слишком ли много для программы гоняющей по экрану кружок? 12% от процессора Core i5 3.4G - это как бы можно траекторию ракеты на Марс рассчитать, а тут кружок... Прикладываю видео чтоб можно было оценить.. может я и правда тут не просыхаю совсем? :)
Нет, не запись... я заметил до записи. Но даже если комп перегружен, вроде как не должна бы такая программа 12% просить у проца, не для БК-0010 программы то пишем :)
На самом деле, не такая уж это и простая задачка - перерисоывать по несколько раз в секунду картинку большой площади. В полете на Марс высчитывается какая-нибудь формула с сотней переменных, а тут над - над десятками тысяч точек выполняется множество битовых операций. Что ресурс уходит на перерисовку можешь убедиться сам: частично вытащи форму за пределы рабочего стола - и увидишь, что Windows поняла, что скрытую часть экрана ей рисовать не надо, и ресурсов на перериросвку видимой пользователю части формы будет затрачено меньше. Крутые видеоигры не так тормозят процесс т.к. там не происходит перерисовки всего экрана от левого верхнего пикселя до правого нижнего, а обновляется только изменившаяся часть.
Что касается неравномерности: скорее всего, нужно подкрутить таймер обновления формы: 25 мс вместо 100 мс, что по умолчанию, и пропорционально уменьшить скорость.
Вы будете смеяться, но вынос формы за пределы экрана абсолютно не влияет на загрузку, как показал только что проделанный мной эксперимент. :) Таймер на 25... и на 5 ставил и на 50 и на 100... везде примерно одно и тоже, заметность только чуть иная.
Начинаем практику по языку C#
Чтобы стать хорошим программистом — нужно писать программы.
На нашем сайте очень много практических упражнений.
После заполнения формы ты будешь подписан на рассылку
«C# Вебинары и Видеоуроки»,
у тебя появится доступ к видеоурокам и консольным задачам.
Несколько раз в неделю тебе будут приходить письма —
приглашения на вебинары, информация об акциях и скидках,
полезная информация по C#.
Научился: 1) разбивать код программы на разные классы для упрощения кода. 2) использовать рефакторинг Трудности: какие методы и свойства вынести из кода формы в класс Graph и как передавать данные между ними. хороший урок)
Научился: Создавать классы и структурировать программу Трудности: Определить, какие данные и методы поместить в класс и как реализовывать их вызовы из кода основной программы Хотелось бы немного больше последовательности в изложении материала. (Это по поводу постоянных исправлений ошибок)