Курсы по программированию

Формула программиста
основатель — Волосатов Евгений Витольдович
Шаблоны Проектирования / Java

Хранитель экрана / Новый класс Graph

  • Третий урок
    Создание класса Graph и перенос в него всех действий с графикой.
  • Дата отправки отчёта: 12 июля 2015 г.
  • Задание выполнено: за 1 час. 40 мин.
  • Чему научился: Создавать классы, приводить код к более структурированному виду.
  • Что было сложным: ООП все таки не совсем понятно.. может дело привычки, может надо было теорию почитать таки :)
  • Комментарии: Все таки кружок у меня неравномерно движется, хотя, понимаю, что должен равномерно. Может с компьютером что не так? Посмотрел нагрузку в диспетчере задач так там Хранитель экрана проходит как ScreenSaver.vshost.exe *32 жрет 12-13% процессора и занимаемая память скачет 12832КБ-14896КБ. Я, конечно, еще совсем никакой программист, но не слишком ли много для программы гоняющей по экрану кружок? 12% от процессора Core i5 3.4G - это как бы можно траекторию ракеты на Марс рассчитать, а тут кружок...  Прикладываю видео чтоб можно было оценить.. может я и правда тут не просыхаю совсем? :)
  • Видеозапись: http://youtu.be/
  • Оценка видео-уроку:
Отчёт от 5244 за Хранитель экрана / Новый класс Graph




Оцени работу

 
Сохранить страницу:

5244. Олег
Олег
ответить
# Хранитель экрана / Хранитель экрана. Новый класс Graph / 2015-07-12 15:42

Вы будете смеяться, но вынос формы за пределы экрана абсолютно не влияет на загрузку, как показал только что проделанный мной эксперимент. :) Таймер на 25... и на 5 ставил и на 50 и на 100... везде примерно одно и тоже, заметность только чуть иная.


1. Евгений Витольдович
Евгений Витольдович
ответить
→  Олег  # Хранитель экрана / Хранитель экрана. Новый класс Graph / 2015-07-12 11:27

Мы же не занимались еще оптимизацией.


1726. Наталия
Наталия
ответить
→  Олег  # Хранитель экрана / Хранитель экрана. Новый класс Graph / 2015-07-12 11:21

Что касается неравномерности: скорее всего, нужно подкрутить таймер обновления формы: 25 мс вместо 100 мс, что по умолчанию, и пропорционально уменьшить скорость.


1726. Наталия
Наталия
ответить
→  Олег  # Хранитель экрана / Хранитель экрана. Новый класс Graph / 2015-07-12 11:13

На самом деле, не такая уж это и простая задачка - перерисоывать по несколько раз в секунду картинку большой площади.
В полете на Марс высчитывается какая-нибудь формула с сотней переменных, а тут над - над десятками тысяч точек выполняется множество битовых операций.
Что ресурс уходит на перерисовку можешь убедиться сам: частично вытащи форму за пределы рабочего стола - и увидишь, что Windows поняла, что скрытую часть экрана ей рисовать не надо, и ресурсов на перериросвку видимой пользователю части формы будет затрачено меньше.
Крутые видеоигры не так тормозят процесс т.к. там не происходит перерисовки всего экрана от левого верхнего пикселя до правого нижнего, а обновляется только изменившаяся часть.


5244. Олег
Олег
ответить
# Хранитель экрана / Хранитель экрана. Новый класс Graph / 2015-07-12 08:33

Нет, не запись... я заметил до записи. Но даже если комп перегружен, вроде как не должна бы такая программа 12% просить у проца, не для БК-0010 программы то пишем :)


986. Антон Лазарец
Антон Лазарец
ответить
→  Олег  # Хранитель экрана / Хранитель экрана. Новый класс Graph / 2015-07-12 07:58

Олег, может запись притормаживает его?


  • Отчёт оценивали:
    5344Владимир+1  

Начинаем практику по языку C#




Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.
Научился: 1) Создавать класс Graph, в котором описывается создание грфического изобр окружности. 2) Упростит осноаную программу, в которой осталось только задание численных параметров, описывающих измняющихсч положений окружности и вызов рисования 3) изменятьцвет фона и окружности
Трудности: 1) Не получается упругое отражение от правого края окружности. Впечатление, что не позволяет размер формы. Но попытки растянуть форму по x изменить max.x не дали результата. 2) Не нашла в Vs2010 Express раскрытия дерева класса. Частично нашла параметры класса в Local, но не смогла получить Local для bmp b, но смогла получить для graph
Как получить упругое отражение от правого края при том, что я использую параметра видеоурока только убрала Dock PictureBox чтобы растянуть форму. Или как связать размеры формы формы и параметры программы.
Научился: Всё знал.
Трудности: Ничего
Нет замечаний