Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> LineTo - тормазная. Неужели GDI обречен? 
V
    Опции темы
MoZy
  Дата 10.2.2007, 22:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 4.6.2006

Репутация: 1
Всего: 0



Вобшем всем olla

2Д игрушка.
Гарю желанием сделать травку быстродейственной. Неохота с предогрузкой. С обычной LineTo тормаза страшные на не такое и большое кол-во юнитов. Есть че-нить быстрое в GDI?
И вообще че все примитивы такие тормазные?
--------------------
Experimentia est optima rerum magistra
PM MAIL WWW ICQ   Вверх
Sartorius
Дата 10.2.2007, 22:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1568
Регистрация: 18.7.2006
Где: Ivory tower

Репутация: 1
Всего: 37



LineTo использует отсечение, поэтому так и тормозит. Можешь писать в битмап напрямую строя линию по Брезенхему. 
ЗЫ А почему не DirectDraw используешь?
PM MAIL ICQ   Вверх
MoZy
Дата 10.2.2007, 22:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 4.6.2006

Репутация: 1
Всего: 0



Sartorius, эх. вот игру допишу и сразу перейду на новые технологии. а то получится, что я и в МАПИ не умею и в ДХ еще тоже ниче не смыслю. ваще у мну есть СДК, но он по 9ому и там директдро куда-то так запихали, что примеры забыли сделать. )) ну в битмап напрямую - это мемкопи. тож не вариант. да и ДИБы много весят.
--------------------
Experimentia est optima rerum magistra
PM MAIL WWW ICQ   Вверх
Earnest
Дата 12.2.2007, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 33
Всего: 183



LineTo работает довольно быстро. Может, это ты где-то тормозишь? В смысле, чего-то не то делаешь?


--------------------
...
PM   Вверх
MoZy
Дата 12.2.2007, 21:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 4.6.2006

Репутация: 1
Всего: 0



Earnest, вряд ли. 135х6х6 - достаточное кол-во, чтобы функция начала тормазить???
Вобщем я сдался и нарисовал травку просто в битмапе. попробовал то же кол-во выводить - почти тот же эффект. увеличил битмапу, уменьшил кол-во. все пучком работает. не судьба клеве поля сделать... smile 
--------------------
Experimentia est optima rerum magistra
PM MAIL WWW ICQ   Вверх
Earnest
Дата 13.2.2007, 10:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 33
Всего: 183



135х6х6 - это что? число вызовов LineTo? Не очень большое. Я бы даже сказала - маленькое.
Я имела ввиду следующее: может ты вызываешь LineTo для каждого отрезка, тогда как можно вызвать Polyline или PolyPolyline. В GDI довольно дорогие вызовы (почти любые), поэтому надо их всячески сокращать. Тот же самый выбор пера - дорогое удовольствие, если делать это каждый раз. Если все это оптимизировать GDI-вывод летает мухой. 


--------------------
...
PM   Вверх
MoZy
Дата 13.2.2007, 20:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 4.6.2006

Репутация: 1
Всего: 0



Earnest, я травку рисую  smile  Перышко только однажды выбираю. На отладочном этапе даже вообще без него тормаза. MoveToEx тормазная. Но вобщем тема закрыта.
--------------------
Experimentia est optima rerum magistra
PM MAIL WWW ICQ   Вверх
Earnest
Дата 14.2.2007, 10:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 33
Всего: 183



Тем более, это случай для PolyPolyline: сначала загоняешь все в массив, потом разом отрисовываешь.
Будет гораздо быстрее, чем MoveTo\LineTo для каждого отрезка.



--------------------
...
PM   Вверх
MoZy
Дата 14.2.2007, 20:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 4.6.2006

Репутация: 1
Всего: 0



Earnest, спасибо. я попробую!
--------------------
Experimentia est optima rerum magistra
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.0482 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.