Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.07.2013, 00:50   #1
gufon
Форумчанин
 
Регистрация: 21.12.2010
Сообщений: 224
По умолчанию Системный цикл

Всем известно что внутреоконный цикл не сильно подходит для создания приложений с высоким ФПС, он способен разогнать порядка 64фпс, мне нужен такой фпс, какой сможет разогнать мое железо, как это реализовать в делфи?
gufon вне форума Ответить с цитированием
Старый 21.07.2013, 01:48   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

интересно, а можно пруф?

ибо в винде основа это окно, то без оконного цикла оно не взлетит.
просто циклов делают обычно два вида, чиста на обработку сообщений через GetMessage, или еще с обработкой отсутствия оных, тогда идет PeekMessage.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 21.07.2013, 11:27   #3
gufon
Форумчанин
 
Регистрация: 21.12.2010
Сообщений: 224
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
интересно, а можно пруф?

ибо в винде основа это окно, то без оконного цикла оно не взлетит.
просто циклов делают обычно два вида, чиста на обработку сообщений через GetMessage, или еще с обработкой отсутствия оных, тогда идет PeekMessage.
Немного не то написал, оконный таймер, если поставить задержку 1мс, то там 1000никогда не будет, 64, больше у меня не было. Точность у этого таймера на предельно низком уровне, на просторах интернета прочитал что есть системный цикл(вроде так), как я понял он должен срабатывать не через определенное время, а как только система это сможет сделать, мне именно это и нужно, поднять до предела.
gufon вне форума Ответить с цитированием
Старый 21.07.2013, 13:02   #4
саша40
Участник клуба
 
Регистрация: 12.09.2012
Сообщений: 1,030
По умолчанию

Автор, ты хоть понимаешь что такое fps(фпс)? FPS- это частота кадров в секунды. Измеряемая в клиентовских онлайн играх(например, Crossfire). Они используют движок для подобного разгона(Cry Engine 3 в игре WarFace).
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби.
саша40 вне форума Ответить с цитированием
Старый 21.07.2013, 14:29   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от gufon Посмотреть сообщение
Немного не то написал, оконный таймер, если поставить задержку 1мс, то там 1000никогда не будет, 64, больше у меня не было. Точность у этого таймера на предельно низком уровне, на просторах интернета прочитал что есть системный цикл(вроде так), как я понял он должен срабатывать не через определенное время, а как только система это сможет сделать, мне именно это и нужно, поднять до предела.
для максимума рисуете через сам оконный цикл.
в VCL есть событие Application.OnIdle.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 21.07.2013, 14:54   #6
gufon
Форумчанин
 
Регистрация: 21.12.2010
Сообщений: 224
По умолчанию

Цитата:
Сообщение от саша40 Посмотреть сообщение
Автор, ты хоть понимаешь что такое fps(фпс)? FPS- это частота кадров в секунды. Измеряемая в клиентовских онлайн играх(например, Crossfire). Они используют движок для подобного разгона(Cry Engine 3 в игре WarFace).
Я как раз понимаю, я сейчас и делаю приложение под OpenGL
А вот ты вижу не понимаешь что написал, причем здесь движок? Движок нужен для упрощения связи между пользователем и графически ip, но не как не для поднятия фпс выше 64, этим меня ограничивает Timer в делфи, я ищу другой способ

Последний раз редактировалось gufon; 21.07.2013 в 15:17.
gufon вне форума Ответить с цитированием
Старый 21.07.2013, 15:14   #7
gufon
Форумчанин
 
Регистрация: 21.12.2010
Сообщений: 224
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
для максимума рисуете через сам оконный цикл.
в VCL есть событие Application.OnIdle.
Можно по подробней именно за оконный цикл?
Application.OnIdle там держится 60тиков в секунду, а если я начинаю проявлять активность(очень быстро телепать курсором) тогда поднимается, но больше 200тиков/сек не достиг, так как не могу быстрей водить курсор.В описание компонента написано что он начинает повторно как только завершит все, но на деле оказалось по другому. Хоть я и не знаком особо с с++, но там это делается 1 функцией, все довольно просто.
gufon вне форума Ответить с цитированием
Старый 24.07.2013, 14:29   #8
gufon
Форумчанин
 
Регистрация: 21.12.2010
Сообщений: 224
По умолчанию

Цитата:
Сообщение от Стертор Посмотреть сообщение
Это точно.
еще один который не умеет читать и познания на высоте

Цитата:
Я как раз понимаю, я сейчас и делаю приложение под OGL
А вот ты вижу не понимаешь что написал, причем здесь движок? Движок нужен для упрощения связи между пользователем и графически ip, но не как не для поднятия фпс выше 64, этим меня ограничивает Timer в делфи, я ищу другой способ
gufon вне форума Ответить с цитированием
Старый 24.07.2013, 14:32   #9
Стертор
Заблокирован
 
Регистрация: 24.07.2013
Сообщений: 41
По умолчанию

Не умничай! Об уровне твоих знаний можно судить уже по этой строчке:
Цитата:
мне нужен такой фпс, какой сможет разогнать мое железо, как это реализовать в делфи?
Ответ: НИКАК.
Стертор вне форума Ответить с цитированием
Старый 24.07.2013, 14:42   #10
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Цитата:
Всем известно что внутреоконный цикл не сильно подходит для создания приложений с высоким ФПС, он способен разогнать порядка 64фпс, мне нужен такой фпс, какой сможет разогнать мое железо, как это реализовать в делфи?
Эмм наоборот вообще-то. Вам Стертор и саша40 намекают об этом.
Железо разгоняют чтобы FPS выдавался хороший.

Системный таймеры(TTimer работает на оконном сообщении WM_TIMER) однозначно в мусор, ну может быть с мультимедийным таймером попробуйте(не компонент).
Алсо поищите в движке который используете, он должен предоставлять такие вещи, ну или может предоставлять.
Можете ещё помудрить с GetTickCount.

Последний раз редактировалось Человек_Борща; 24.07.2013 в 14:44.
Человек_Борща вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
написать процедуры для “Цикл For ... Next ” и «Цикл Do ... Loop» по ниже приведенному условию Кристина_Патачиц Microsoft Office Excel 3 17.04.2013 17:01
Цикл с предусловием. ( цикл while) Цикл с постусловием. (цикл repeat ... until) Mr.User Помощь студентам 9 23.11.2007 01:34