Перейти к содержанию
Fire Monkey от А до Я

Активность

Лента обновляется автоматически

  1. today
  2. А скажите пожалуйста, можно ли в firebase как то аналитику смотреть именно по отправленным, полученным push, доставленным? Спасибо.
  3. А мона слегонца развернуть: это в *.pas вставка типа asm или на Андрюхину студию пересаживаться?
  4. Вчера
  5. о... да мы меряемся? на 1000: 250-333fps как тебе такое Sulion 10000... fps3.zip
  6. Последняя неделя
  7. Доброго вечера! Код и картинка по методу уважаемого господина Крапоткина - ниже У меня получился такой результат: Кол-во персонажей = 1000 | метод | fps | память | | LoadFromFile из дерева каталогов, 1000 TImage, со сменой Z-порядка | 0 | 581 МБ | нулевая версия c 6 МБ картинок | LoadFromStream из архива в поток, 1000 TImage, со сменой Z-порядка | 0 | 78 МБ | (c) я, первый пост в этой ветке | LoadFromStream из архива в битмап, 1000 TImage, со сменой Z-порядка | 30 | 59 МБ | (с) Slym, 12 марта | LoadFromStream из архива в битмап, рисуем сразу в Z-порядке на Canvas | 70 | 24 МБ | (с) Крапоткин, 16 марта Т.о. метод уважаемого Крапоткина - самый быстрый и экономный. Выигрыш - более чем вдвое. Снимаю шляпу Код и картинка: fps3.zip
  8. нет никакой технологии, есть набор Bitmap и рисование этих битмап напрямую на Canvas объем памяти ровно такой, что требуется для хранения этих битмапов. скорость отрисовки - максимальная, потому что кроме отрисовки вы собсно ничего не делаете вообще)
  9. Благодарю! Почитаю Решение уважаемого Slym у меня дает 70+ fps без перестановки порядка и 30+ fps с перестановкой при объеме занимаемой памяти 56 МБ на 1000 персонажей Какой выигрыш по fps и памяти вы ожидаете по вашей технологии?
  10. Удобство и универсальность ВСЕГДА противопоставлены быстродействию Бросьте идею использовать компоненты для рисования анимации. Что вы выиграли по сравнению с простым Canvas.DrawBitmap() на PaintBox ?? Ничего. Зато приобрели просто гигантский оверхед в виде ненужной универсальной начинки компонента TBitmap. Потом будут еще проблемы изза того, что не вы сами управляете масштабированием картинки в компоненте. Так игру не написать
  11. А зачем постоянно bringtofront? одного раза не достаточно? там реально медленно... я полагаю нужна глубина сцены? многие ее делают слоями: дальний фон (горы), ближний фон (лес), сцена (персы), и воздух (падающий снег) кидаем 4 лейаута и на них распределяем спрайты
  12. Я думаю почему так кадров много, тоже делал на днях как у вас, только проблема не в этом, вся загвоздка в bringtofront, вот эту проблему как решить? Забил на это так как времени не было. Так же делал все это в потоке с использованием floatanimation, но прирост не большой получился.
  13. Ещё раньше
  14. Загружать картинки не в Stream а в битмап сразу source.zip 1000
  15. Не написал тогда, чем закончилось - восполняю Спасибо за советы - помогло. Насыпал тогда bpl-файликов, начиная с того что выше - это и решило проблемку
  16. Друзья, привет! Как можно радикально поднять скорость отображения картинки? Код и исполняемый файл прикладываю. У меня пока выдает в районе 10-15 fps, больше получить не удается Как пользоваться: 1. Запускаем 2. Вводим 100 3. Смотрим на цифру сверху - там будет, какой fps выдает программа Контекст вопроса Перед вами - тест-бенчмарк, по которому я определяю, какими инструментами пользоваться LoadFromStream. Перешел на потоки - это дало ускорение в несколько раз: раз в пять ускорил переход от LoadFromFile к LoadFromStream - это прямо повлияло на fps. Раза в два ускорил переход от каталога с файлами к zip-архиву, это скорее про время загрузки. BeginScene. Читал на этом форуме, что он дает некоторое ускорение BringToFront. Персонажам в будущем предстоит входить в дома и обходить деревья, для таких операций в RAD Studio предусмотреть BringToFront/SendToBack, т.е. понадобится перестраивать поштучно Z-порядок, когда кто-то кого-то загородил. Соответственно, в вызовем разок. По моим наблюдениям - если закомментарить эту строчку, то fps увеличивается вдвое. Т.е. если на этих инструментах написать игру, то она будет идти плавно, но когда одна-единственная деталь поменяет Z-порядок, то игра вдвое снизит fps а потом возобновит плавность. Рывок будет заметный Что ещё можно предпринять, чтобы поднять fps? fps.zip source.zip
  17. Привет форумчане! Не получается увидеть файлы формата '*.txt' и другие в папке '/storage/emulated/0/Documents' При этом, однако, видны файлы '*.jpg' Подскажите пожалуйста, на сегодняшний день в Delphi 11 уже как то можно читать файлы из хранилища? Для доступа к файлам использую такой код: procedure TBaseMainForm.JustAClick(Sender: TObject); var s: string; begin for s in TDirectory.GetFiles(TPath.GetSharedDocumentsPath) do Memo1.Lines.Add(s); end; Проект создан не с нуля. Код(и Memo1) просто добавлен в демо проект "c:\Users\Public\Documents\Embarcadero\Studio\22.0\Samples\Object Pascal\Multi-Device Samples\Media\PhotoEditorDemo\Android\Debug"
  18. Да. Изменил запись в реестре. Точнее путь к папке Eclipse Adoptium
  19. @krapotkin Редактирование свойства FormStyle между StayOnTop и Normal – не подходит, так как форма в этот момент прыгает. Видимо из-за того что в коде класса формы вызываются данные методы: procedure TCommonCustomForm.SetFormStyle(const Value: TFormStyle); ... begin ... Screen.RemoveForm(self); ... Screen.AddForm(self); ... end;
  20. т.е. вы в момент деактивации сняли с него StayOnTop, а при активации надели обратно?
  21. Решил задачу таким способом: if ( uMsg = WM_ACTIVATEAPP )and( fModal.Visible ) then SetWindowPos(FormToHWND(fModal), IfThen( wParam = 1, HWND_TOPMOST, HWND_NOTOPMOST ), Left, Top, Width, Height, SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE ); Таким образом модальное окно (которое на самом деле не модальное) находиться всегда сверху, когда приложение активно. Когда приложение теряет фокус, окно теряет свой статус нахождения сверху, но остаётся прорисованным сверху главной формы. При всём при этом главная форма так же остаётся доступной для работы, в отличие от ShowModal.
  22. @OnePeople Забыл уточнить, что основная форма должна оставаться активной
  23. procedure MyCurrentForm.MyButtonClick(Sender: TObject); var dlg: TMyModalForm; begin // Create an instance of a form. dlg := TMyModalForm.Create(nil); // Configure the form. For example, give it a display name. dlg.Caption := 'My Modal Dialog Box'; // Show your dialog box and provide an anonymous method that handles the closing of your dialog box. dlg.ShowModal( procedure(ModalResult: TModalResult) begin // Do something. end ); end; Из docwiki.embarcadero.com
  24. Да не проблема это, может быть такая ситуация что вам устройство будет отправлять данные допустим "12" потом в JInputStream будет доступных байт ноль, потом придет "345", поэтому тут нужно делать проверку на завершающий символ сообщения и на необходимый таймаут. Все делается через java код, за 10 минут.
  25. а в каком приложении такие есть ? так ведут себя только модальные окна делайте другую оконную концепцию
  26. android.permission.ACCESS_BACKGROUND_LOCATION, а так да приложение крякнет ос, делайте сервис.
  27. Если в FireMonkey поставить FormStyle в значение StayOnTop, то форма будет над всеми окнами системы, а мне надо чтобы она оставалась только лишь над главной, но пряталась под окнами других программ. Чтобы я не пробовал – ничего нормального не выходит.
  28. Собственно это не мой код. Я сделал совершенно другим способом. И меня беспокоила не красота, а то, что андроид в отличии от виндовс делал это калечно: там обрезался старший бит. Максимальное значение было #7F (127), а все, что больше #3F - знак вопроса. Проблема решилась так: IdUDPClient1.Send('40.240.8,50',9,Data,IndyTextEncoding(IdTextEncodingType.enc8Bit));
  1. Загрузить ещё активность
×
×
  • Создать...