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

Akromd

Пользователи
  • Постов

    43
  • Зарегистрирован

  • Посещение

Активность репутации

  1. Like
    Akromd отреагировална dimsa в ShadowEngine - Sprite Engine with Formatters, animations and etc   
    Блин, че-то даже неловко стало). FPS большой на ПК, а на андройде ~40 фпс. Не знаю с чем это все связано, но просто надо дальше ковырять FMX в сторону того же самого 3D, это должно быть быстрее обычного канваса. За отрисовку отвечает только TEngine2D и его объекты, т.е. если 3D быстрее, переделывать недолго. Можно еще в сторону отрисовки в нескольких потоках смотреть, я о ней всё время думал: что-то типа два потока реденрят в два имеджа, а когда оба готовы, то рендерят один имедж в другой.
    Я занят не только развитием движка, а еще работой, халтурами и прочими вещами) Но по движку стараюсь делать как минимум коммит в день (Или побольше в выходные)
    По самой игре... Вот как раз её код не очень. Движок я рефакторил активно последний месяц, поэтому на него немного приятней смотреть) В общем я бы не спешил с переделкой игры, т.к. хоть формат объектов и возможность их создания в SSB реализована, но это всё еще не прикручено и возможно что-то изменится.
    Сейчас имхо самая лучшая помощь,- это донесение информации о проекте, а лучший способ донесения информации, - это собрать еще какую-нибудь несложную игру и выложить её на маркет) На все вопросы я с радостью отвечу,  по мере свободного времени конечно, но также вполне возможны ответы: это еще сыровато, лучше это не делать(делать конечно можно, но возможно придется переделывать) . :-)
     
  2. Like
    Akromd отреагировална Gingercat в Перспективы RAD   
    Эх, попкорн закончился) Доброго вечера всем.
    Вот вы тут развели ср..., прям диву даешься. Неужели тут кто то всерьез верит, что Rad Studio похоронят - вы чего? СМена кадровой политики - абсолютно нормальное явление в любой организации, которая не сидит на месте. Другой вопрос - что послужило толчком? Но не суть. Тут прочитал - вот мол никто на FMX не пишет - вы судите по тому, сколько информации (удивленный смайл). Неужто кто то всерьез думает, что солидные компании, которые базируются на Rad Studio, будет трубить на каждом углу - смотрите, у нас софт написан на Rad Studio? (если быть точным, то с использованием, не придирайтесь)) ЗАЧЕМ оно им?
    С такой ценовой политикой, достаточно нескольких сотен пользователей для безбедной жизни, хотя думаю их в разы больше.
    А вот про баги и тд - улыбнуло. Есть у меня опыт небольшой работы и с FMX под ANdroid, и куда больший по десктоп, естественно под VCL. Есть опыт с плюсами и шарпом на Visual Studio тоже под десктоп. Ну и Qt немного. И судя по своему скромному опыту, еще вопрос - где больше багов, когда начинаешь копать глубже. Тута вон галку снял, и софт с 99% уверенностью запустится у всех, а Visual Studio - без опыта, один процесс настройки зависимостей проекта в новых версиях - тот еще гемморой. А потом начинаешь пользователям долбить - скачайте рантайм, а вот еще ддлку эту, а у вас версия Фреймворка не та))) Адекватно собрать статически слинкованный Qt мне так и не удалось, точнее удалось под MinGW - не впечатлило.
    Похоже многие забыли - FMX, Rad, Visual, pascal,  c++, c#, и тд, и тп - это только инструмент, все зависит от того, кто его держит. 
    Kitty - мне очень интересно - отчего такая потребность - закопают или нет? А кто мешает перебраться, в случае необходимости в другую среду - знания то лишними не будут. Напоминает покупку первой машины - месяцами выбирают (количество критериев зашкаливает - и чтоб то не сломалось, и не устарело, и тд), в итоге покупается что то непотребное, просто из-за подхода, при этом количество нервов потраченных...) вы же не на всю жизнь покупаете) Так и тут - ну случится беда, закопают - так правильно сказали: может через пару лет и Андроид гавкнет - что теперь не писать под него.
    В крайнем случае можно на время перебирания в другую среду остаться на старой версии. Хотя, вынужден извиниться, возможно у вас действительно вперед смотрящие, долгосрочные проекты, тогда стоит думать сейчас (ни в коем случае не сарказм). Но положа руку на сердце, поверьте - выбор то не велик, к сожалению, когда дело доходит до чего - то большего, чем Hello World.
     
    P.S. не первый год пытаюсь переползти в Visual Studio - именно написание кода там куда более комфортное, но увы - так и не смог) сошелся на Dll-ках, из Visual Studio, и основе в Rad Studio - довольно удобно и комфортно.
  3. Like
    Akromd получил реакцию от Rusland в Утечка при использовании TDialogService   
    При включенной функции ReportMemoryLeaksOnShutdown  заметил, что при вызове Tdialogservice.inputquery после закрытия формы выходит ошибка утечки памяти связанный с TWinAcceleratorKeyRegistry, с чем может быть связано?

    пример кода:
    TDialogService.InputQuery('Имя игрока',['Имя'],[PlayerNameText.Text], procedure (Const AResult: TModalResult; const AValues: array of string) begin if not AValues[0].Equals(PlayerNameText.Text) then begin Hero.NamePlayers := AValues[0]; end; end);  
  4. Like
    Akromd получил реакцию от Rusland в Торможение при длитоельном использовании   
    Немного пояснения: требовалось анимировать объект Tpath (не путать с TpathAnimation!) - то есть анимировать отрисовку "сложных" объектов через SVG.
    За отрисовку объектов отвечает свойство data.data, которое в виде строки хранит SVG код.
    Первое мое решение как раз и было связано с постепенным изменением этого свойства, для плавного отображения, но я столкнулся с проблемой "быстрых" тормозов, собственно из-за чего и возникла эта тема.
    Немного подумав, оказалось, что из постоянного дополнения этого свойства (data.data), оно очень быстро "переполнялось" и отрисовка занимала очень длительное время. Поэтому было решено использовать другой метод: вместо того чтобы постепенно изменять это свойство, мы создаем новый объект типа Tline и изменяя его размер как будто рисуем постепенно новую линию, а в конце уничтожаем ее, заменяя начало и конец добавлением в то самое свойство data.data тем самым экономя и память, и размер свойства.
    Опять же, почему не использовать более простые методы? Во-первых требуется чтобы эта анимация могла происходит параллельно действиям всей программы. Во-вторых, таких анимаций одновременно может происходит довольно много.
    Если кому интересно, выложу исходники
×
×
  • Создать...