Помогите с DelphiX
От: megalom  
Дата: 04.07.05 21:20
Оценка:
Работаю на Delphi7, пишу игрушку используя DelphiХ,
на моём компе всё работает без проблем, но на
некоторых компах происходит затормаживание
прорисовки кадров. В кодах по обработке поведения
спрайтов ошибок нет, компы тоже не слабые,
догадываюсь что это из-за тймера код привидён ниже.
Может кто встречался с подобной проблемой помоготе

procedure TForm2.DXTimer1Timer(Sender: TObject; LagCount: Integer);
begin
  if not DXDraw1.CanDraw then exit;
  DXInput1.Update;
  DXSpriteEngine1.Move(LagCount);
  DXSpriteEngine1.Dead;
  DXDraw1.Surface.Fill(0);
  DXSpriteEngine1.Draw;
  with DXDraw1.Surface.Canvas do
  begin
    Textout(20, 30, 'Demo');
    Release;
  end;
  DXDraw1.Flip;
end;
Re: Помогите с DelphiX
От: Softwarer http://softwarer.ru
Дата: 05.07.05 06:20
Оценка:
Здравствуйте, megalom, Вы писали:

Для начала — пусть твой таймер (обработчик события) пишет в лог время каждого своего запуска. Посмотришь, так ли он часто получает управление, как тебе надо.
Re[2]: Помогите с DelphiX
От: megalom  
Дата: 05.07.05 21:03
Оценка:
Здравствуйте, Softwarer, Вы писали:

S>Здравствуйте, megalom, Вы писали:


S>Для начала — пусть твой таймер (обработчик события) пишет в лог время каждого своего запуска. Посмотришь, так ли он часто получает управление, как тебе надо.



Вставил в таймер код для записи даты каждого запуска,
интересная картина, на одном комьютере запуск происходит
30 раз в секунду, а на комьютере где происходит
затормаживани всего 1-2 раз тоесть на одном FPS 30 на другом 1-2.
(почему графика тормозит теперь понятно),
Компьютеры не очень отличаются друг от друга, можно
даже сказать одной и тойже конфигуратции.
Ну почему на одном 30 на другом 1
Помогите понять
Re[3]: Помогите с DelphiX
От: Softwarer http://softwarer.ru
Дата: 06.07.05 06:37
Оценка:
Здравствуйте, megalom, Вы писали:

Тогда я сделал бы следующее:

1) Таймерное событие происходит при обработке очереди сообщений. Соответственно, повесил бы мониторинг на очередь — возможно, на Application.OnMessage — и проверил бы, насколько стабильно забираются события. Возможно, кто-то отжирает почти все время основного потока.

2) На обоих компьютерах прогнал бы приложение под профайлером (например AQTime). Сравнил бы пропорции и разницу — одинаков ли профиль затрат на обоих компьютерах или на втором прорезается кто-то, кто на первом хорошо и быстро работает.

3) Поставил бы на контроль время, в течение которого пашет твой обработчик — возможно все-таки тормозит именно отрисовка, например из-за видеокарточки

4) Постарался бы сделать максимально чистый эксперимент, то есть убрал бы из памяти все посторонние программы, сравнил бы версии ОС, патчи и драйвера...
Re[4]: Помогите с DelphiX
От: megalom  
Дата: 09.07.05 20:35
Оценка:
Здравствуйте, Softwarer, Вы писали:

После тестов, выяснил что проблема не в таймере, а в
отрисовке, полез в коды ДелфиХ, а там дебри короче не
стал искать баги, нашел более новую версию ДелфиХ и
там действительно был баг в прорисовке, его исправили
хотя опять же криво, было fps=1 стало 5, но нужно как
минимум 24 что делать не знаю ,наверное все-таки
придётся копаться в этих дремучих кодах.
Re[5]: Помогите с DelphiX
От: Slava Antonov Россия http://deadbeef.narod.ru
Дата: 10.07.05 03:12
Оценка:
Hello megalom, you wrote:

> минимум 24 что делать не знаю ,наверное все-таки

> придётся копаться в этих дремучих кодах.

А может вообще отказаться от DelphiX?
Можно, например, подключить библиотеку типов "DirectX 8 for Visual Basic" (Project — Import Type Library)

--
Всего хорошего, Слава
Posted via RSDN NNTP Server 1.9
Re[6]: Помогите с DelphiX
От: Аноним  
Дата: 10.07.05 20:48
Оценка:
Здравствуйте, Slava Antonov, Вы писали:

SA>А может вообще отказаться от DelphiX?

SA>Можно, например, подключить библиотеку типов "DirectX 8 for Visual Basic" (Project — Import Type Library)

Наверное придётся знакомится с DirectX поближе,
вот только как можно безболезненно перейти с
DelphiX на DirectX ведь я уже почти закончил
проект на DelphiX, нехотелось бы все начинать
с начала , может все-таки кто нибуть
встречался с таким багом и нашел решение ?
Re[7]: Помогите с DelphiX
От: kavlad Россия http://www.wavesoft.ru
Дата: 10.07.05 21:01
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>встречался с таким багом и нашел решение ?


ИМХО, здесь мало кто занимается DelphiX.
Могу предложить заглянуть на форум delphimaster — Конференция "Игры" или Конференция "Media"
... << RSDN@Home 1.1.4 stable rev. 510>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.