роботы робототехника микроконтроллеры


 Страниц (7): « 1 2 3 [4] 5 6 7 »   

> Описание: Холиварные споры.
Admin Администратор Post Id


Администратор


Сообщений всего: 897
Дата рег-ции: Май 2006  



Да, именно так и я пытаюсь это объяснить уже третью страницу.
Есть еще другой режим (если отключить "Турбо" ). Этот режим реализован именно так, как Вы ратуете. Пользователь может выбрать то, что он считает "по фэн-шую".
 
 Top
-dead- Post Id


Президент


Сообщений всего: 966
Дата рег-ции: Февр. 2009  



Как я ратую - это не ваш отключенный турбо Улыбка это, как вариант, то, что у вас называется "отключенный турбо" + использование KeyPress вместо KeyDown Улыбка

А в идеале - то же самое, только с выключенной увеличенной паузой после первой генерации KeyPress и может уменьшенной паузой между генерацией KeyPress, учитывая что типовая задача - это управление объектами, а не набор текста. Тогда на более быстром ПК, если не было перегрузки очереди событиями - программы будут выполняться с одинаковой скоростью.

Тащусь
 
 Top
killgur Post Id



Гуру


Сообщений всего: 1189
Дата рег-ции: Февр. 2010  



-dead- пишет:
Понятно, KeyPress вы не используете. Поэтому вы сами занимаетесь генерацией этих события на основании того, что было KeyDown, еще не было KeyUp, но обработчик сейчас может обработать, поэтому нате, получите событие и обработайте, так?


Обработчик KeyPress корректно срабатывает только на WM_CHAR поэтому на несимвольные клавиши неприменим, для несимвольных нужно все равно обратится к KeyDown.

(Отредактировано автором: 22 Июня, 2011 - 19:19:42)

 
 Top
nest Администратор Post Id



Администратор


Сообщений всего: 4866
Дата рег-ции: Сент. 2009  




Програмисты всю ветку зафлудили Улыбка
 
 Top
-dead- Post Id


Президент


Сообщений всего: 966
Дата рег-ции: Февр. 2009  



Ну значит можно генерить самим события Улыбка причем с частотой не зависящей от скорости работы компа, просто если предыдущее такое же событие еще не обработано - новое в очередь не кладём. Тогда на более быстрой машине шарик не начнет крутиться как бешенный Улыбка
 
 Top
Admin Администратор Post Id


Администратор


Сообщений всего: 897
Дата рег-ции: Май 2006  



-dead- пишет:
Как я ратую - это не ваш отключенный турбо это, как вариант, то, что у вас называется "отключенный турбо" + использование KeyPress вместо KeyDown


И как Вы предполагаете это должно быть реализовано в рамках синтаксиса одного единственного вида событий?

К тому же, как совершенно верно заметил killgur, KeyPress служит не совсем для управления, а больше подходит для работы с объектами текстового характера. Именно на этом основывается его поведение. Или, как я понял, по Вашему нужно реализовать какой-то особенный KeyPress с особой функциональностью?

-dead- пишет:
А в идеале - то же самое, только с выключенной увеличенной паузой после первой генерации KeyPress и может уменьшенной паузой между генерацией KeyPress, учитывая что типовая задача - это управление объектами, а не набор текста.


Это Вам лучше адресовать в Microsoft. Улыбка

-dead- пишет:
Тогда на более быстром ПК, если не было перегрузки очереди событиями - программы будут выполняться с одинаковой скоростью.


Именно, что только если...

Даже простейшее перемещение картинки по форме, в любом из языков программирования, которые я приводил выше, на разных машинах будет осуществляться с разной скоростью при использовании стандартного KeyPress. И делаться это будет рывками.

----

-dead- пишет:
Ну значит можно генерить самим события причем с частотой не зависящей от скорости работы компа, просто если предыдущее такое же событие еще не обработано - новое в очередь не кладём. Тогда на более быстрой машине шарик не начнет крутиться как бешенный


В Вашей логике есть несколько серьезных изъянов.

1. Вы рассматриваете только один вектор переноса программы между машинами. Если обработчик события будет не укладываться в Вашу сетку синхронизации, то на медленных машинах будет еще большее замедление. Это проверено.

2. При переносе на более быструю машину пользователь не получит никаких преимуществ в плавности управления за счет уменьшения приращения координат объекта. Таким образом, подход тоже выглядит сомнительным.

3. Кроме того, невозможно установить универсальную синхронизационную сетку, которая бы нормально подходила под любые периоды работы обработчика событий, и не вызывала подергиваний в управлении объектами. Это можно реализовать только для конкретной программы, например, для какой-то конкретной игры, но не для языка программировния.

----
 
 Top
-dead- Post Id


Президент


Сообщений всего: 966
Дата рег-ции: Февр. 2009  



Admin пишет:
Это Вам лучше адресовать в Microsoft.

Так можно на что угодно сказать Улыбка типа ну пусть в винде кто-нибудь это сделает, "чем я" Тащусь

Admin пишет:
Даже простейшее перемещение картинки по форме, в любом из языков программирования, которые я приводил выше, на разных машинах будет осуществляться с разной скоростью при использовании стандартного KeyPress. И делаться это будет рывками.

Да что же вы меня не слышите то Улыбка речь не о стандартном KeyPress, а об аналогичном поведении генерируемых событий. И про любой язык программирования вы загнули - если всё правильно делать - всё одинаково будет, события то ОС генерит. Хотя конечно, корявый программист может и суперкомпьютер тормознуть Улыбка
(Добавление)
Admin пишет:
1. Вы рассматриваете только один вектор переноса программы между машинами. Если обработчик события будет не укладываться в Вашу сетку синхронизации, то на медленных машинах будет еще большее замедление. Это проверено.

2. При переносе на более быструю машину пользователь не получит никаких преимуществ в плавности управления за счет уменьшения приращения координат объекта. Таким образом, подход тоже выглядит сомнительным.

Может, я не знаю, помочь вам производительность оптимизировать? Тащусь

Admin пишет:
3. Кроме того, невозможно установить универсальную синхронизационную сетку, которая бы нормально подходила под любые периоды работы обработчика событий, и не вызывала подергиваний в управлении объектами. Это можно реализовать только для конкретной программы, например, для какой-то конкретной игры, но не для языка программировния.

Да бросьте, никто частоту реальной отрисовки не более 60Гц не отменял, чаще смысла не имеет. Минимальный порог 25-30Гц.
 
 Top
Admin Администратор Post Id


Администратор


Сообщений всего: 897
Дата рег-ции: Май 2006  



У меня складывается ощущение, что Вы хотите что-то новое изобрести. Улыбка

Я за Вами не успеваю Голливудская улыбка
 
 Top
-dead- Post Id


Президент


Сообщений всего: 966
Дата рег-ции: Февр. 2009  



Я вас опередил Улыбка
 
 Top
Admin Администратор Post Id


Администратор


Сообщений всего: 897
Дата рег-ции: Май 2006  



Пошел на перекур
 
 Top
-dead- Post Id


Президент


Сообщений всего: 966
Дата рег-ции: Февр. 2009  



Admin пишет:
У меня складывается ощущение, что Вы хотите что-то новое изобрести.

Отнюдь, я как самодельные игрушки всякие 12-14 лет назад будучи школьником писал на тогдашних компьютерах, так с тех пор ничего особо не поменялось в этом уровне задач, а указанные задачи именно такого уровня. И у меня тогда ничего не тормозило, а вы говорите сейчас катастрофа, всё тормозит. Вы же не на 386SX*25Mhz переносите свои программы?

(Отредактировано автором: 22 Июня, 2011 - 21:09:45)

 
 Top
Admin Администратор Post Id


Администратор


Сообщений всего: 897
Дата рег-ции: Май 2006  



Пока еще курю
 
 Top
-dead- Post Id


Президент


Сообщений всего: 966
Дата рег-ции: Февр. 2009  



У вас же буферизация картинки хотя-бы есть? Как часто буфер на экран кидаете?
 
 Top
nest Администратор Post Id



Администратор


Сообщений всего: 4866
Дата рег-ции: Сент. 2009  



Но ведь речь идёт не о конструкторе 3Dшутеров. Речь идёт о простенькой программе для ознакомления программских навыков. -dead-, не надо создавать LOGO, в котором можно ещё и свой третий квейк написать.
Дёргается изображение - пусть дёргается. Задача программиста сделать это дёрганье минимальным в выделенной среде - вот первоначальная задача.
 
 Top
killgur Post Id



Гуру


Сообщений всего: 1189
Дата рег-ции: Февр. 2010  



Совершенствуя программу "главное вовремя остановиться".
 
 Top
Страниц (7): « 1 2 3 [4] 5 6 7 »
« GameLOGO »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 





Powered by Exclusive Bulletin Board
ExBB FM 1.0 RC1 Smiles by Fool from Foolstown
  Яндекс.Метрика   Рейтинг@Mail.ru