Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Пт апр 19, 2024 12:37

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 21 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Вт сен 09, 2008 12:09 
Не в сети

Зарегистрирован: Ср сен 13, 2006 10:06
Сообщения: 636
Откуда: Омск
Благодарил (а): 0 раз.
Поблагодарили: 3 раз.
Отчего кварк жрет все процессорное время?

_________________
Меня нет, не будет и не было.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт сен 09, 2008 14:19 
Pretorian писал(а):
Отчего кварк жрет все процессорное время?


Возможно из-за OPENGL:)


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт сен 09, 2008 14:26 
Не в сети

Зарегистрирован: Ср сен 13, 2006 10:06
Сообщения: 636
Откуда: Омск
Благодарил (а): 0 раз.
Поблагодарили: 3 раз.
Anonymous писал(а):
Возможно из-за OPENGL:)

Ерунда, не в нем тут дело совсем, дело как обновляется окно. А действительно, как?

_________________
Меня нет, не будет и не было.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт сен 09, 2008 15:12 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Из-за OpenGL и жрет, он же постоянно сбрасывает свой виртуальный экран в видеокарту. Благодаря этому нет никаких wm_paint, видимых программисту. Брезжила у меня мысль отключать этот сброс переменной-флажком, чтобы действительно он не так нервировал пользователей. В действительности же проценты загрузки никак не связаны с реально требуемыми от процессора мегагерцами, обработка сообщений просто крутится с максимально возможной для машины скоростью и с той же скоростью обновляет содержимое экрана.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт сен 09, 2008 15:19 
Не в сети

Зарегистрирован: Ср сен 13, 2006 10:06
Сообщения: 636
Откуда: Омск
Благодарил (а): 0 раз.
Поблагодарили: 3 раз.
Хищник писал(а):
Из-за OpenGL и жрет, он же постоянно сбрасывает свой виртуальный экран в видеокарту.
Вот я и говорю из-за обновления окна, может сделать когда окно не активно, что бы обновлялось только при травме видимой части один раз?

_________________
Меня нет, не будет и не было.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт сен 09, 2008 15:32 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Тогда возникнет необходимость как-то отслеживать изменение окна "изнутри". Ставить флажок как-то накладно, поскольку при заливке прямоугольника путем последовательной закраски пикселей слова будут постоянно "дергать" переменную, отвечающую за факт изменения экрана. Я о таком уже много думал, все никак не соберусь поэкспериментировать. Однозначно не хотелось бы устраивать головную боль программисту, поскольку сейчас можно обращаться с экраном кварка как с TCanvas в борландовских системах - рисовать на нем, опрашивать пиксели, и т.д. А тут вроде получается, что один раз успокоились, потому что проценты загрузки процессора стали низкими, зато потом постоянно чертыхаемся и расставляем принудительные обновления экрана.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт сен 09, 2008 16:33 
Не в сети

Зарегистрирован: Ср сен 13, 2006 10:06
Сообщения: 636
Откуда: Омск
Благодарил (а): 0 раз.
Поблагодарили: 3 раз.
Не, я не про это, я про то что если окно неактивно, то оно не обновляется, обновляется только те участки через которые протягиваем другие окна (травма окна). Кстати перенеси наш разговор куда нибудь в другую тему, там обсудим, может придумаем какой вариант. У меня же тоже граф. консоль по практически такому принципу работает, так что думать не только тебе придется :)

_________________
Меня нет, не будет и не было.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт сен 09, 2008 16:55 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Pretorian писал(а):
Не, я не про это, я про то что если окно неактивно, то оно не обновляется, обновляется только те участки через которые протягиваем другие окна (травма окна).

Так это отработка сообщения wm_paint.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт сен 09, 2008 16:59 
Не в сети

Зарегистрирован: Ср сен 13, 2006 10:06
Сообщения: 636
Откуда: Омск
Благодарил (а): 0 раз.
Поблагодарили: 3 раз.
wm_paint угу, но можно же определить что окно не активное и только нужно реинкарнировать некоторые места. У тебя же надеюсь не wm_paint рисует, а только обновляет окно.

_________________
Меня нет, не будет и не было.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт сен 09, 2008 17:03 
Не в сети

Зарегистрирован: Ср сен 13, 2006 10:06
Сообщения: 636
Откуда: Омск
Благодарил (а): 0 раз.
Поблагодарили: 3 раз.
Кстати у меня граф консоль не жрет ни чего, а ведь из буфера при травме востанавливается вся, что неправильно, нужно расчитывать участки травмы только. Ну допустим у меня нестандартная обработка сообщений, ну и что, главное работает.

_________________
Меня нет, не будет и не было.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт сен 09, 2008 18:54 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Pretorian писал(а):
Кстати у меня граф консоль не жрет ни чего, а ведь из буфера при травме востанавливается вся, что неправильно, нужно расчитывать участки травмы только. Ну допустим у меня нестандартная обработка сообщений, ну и что, главное работает.

Экономия копеечная будет. А если куча мелких окон поверх консоли? Это ведь надо будет аккуратно вырезать закрытые участки, и сэкономить 5-10% поверхности.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт сен 09, 2008 20:13 
Не в сети

Зарегистрирован: Ср сен 13, 2006 10:06
Сообщения: 636
Откуда: Омск
Благодарил (а): 0 раз.
Поблагодарили: 3 раз.
Хищник писал(а):
Экономия копеечная будет. А если куча мелких окон поверх консоли?

Винда сама скажет травмы и расчитает, нет там копеек. Твой кварк при 97% при моей консоли 3% занятости слишком уж, а идея практически одна. Я не успел написать дополнения на травму окна, может в этом дело?

_________________
Меня нет, не будет и не было.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт сен 09, 2008 21:33 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Pretorian писал(а):
Винда сама скажет травмы и расчитает, нет там копеек. Твой кварк при 97% при моей консоли 3% занятости слишком уж, а идея практически одна. Я не успел написать дополнения на травму окна, может в этом дело?

Вот уж не знаю. Все, что я читал по программированию для Windows, сводилось к отработке wm_paint как такового. Если и можно как-то ускорить этот процесс, узнав координаты фигур, действительно подлежащих перерисовке, наверное было бы неплохо. Тем не менее, выжимать производительность таким способом мне кажется неправильным, поскольку кварк, несмотря на свои "огромные" проценты, дает сносную картинку, что в 2D, что (особенно) в 3D. А занятость процессора обусловлена особенностями прокачки сообщений, т.е. он съест все время, сколько ни дай, постоянно повышая при этом fps. Согласен, что это тонкий момент, подлежащий допиливанию... но мы тут приличной группкой активно пользуемся кварком уже год, и высокая загрузка процессора в периоды простоя видимых замедлений не дает.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср сен 10, 2008 05:45 
Не в сети

Зарегистрирован: Ср сен 13, 2006 10:06
Сообщения: 636
Откуда: Омск
Благодарил (а): 0 раз.
Поблагодарили: 3 раз.
Я чего то не понял, ты же в буфере рисуешь, а с помощью wm_paint только буфер выводишь в окно, или отрисовка идет через wm_paint?

_________________
Меня нет, не будет и не было.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср сен 10, 2008 08:21 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Pretorian писал(а):
Я чего то не понял, ты же в буфере рисуешь, а с помощью wm_paint только буфер выводишь в окно, или отрисовка идет через wm_paint?

Ну да, в буфере. Сброс буфера в окно идет постоянно в цикле прокачки сообщений - вдруг кто-то изменил буфер?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 21 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 26


Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB