Платформа Firemonkey для shareware
От: Аноним  
Дата: 05.09.12 06:25
Оценка:
В соседнем топике затронули интересную тему (портирование Delphi VCL приложений на Delphi XE2/3 Firemonkey).

Я пишу программы и шареварю на Delphi уже почти 15 лет (и зарабатываю очень хорошо). Но мне кажется, что наши программы (на Delphi VCL и на C++/C#) зашли в тупик с теми технологиями графического интерфейса, которые нам предоставила Microsoft. Все эти программы используют старый чудовищно устаревший GDI интерфейс. Нет полностью аппаратно ускоренного композиционного движка контролов с синхронным обновлением с частотой монитора, чтобы ничего не мерцало, нет эффектов (полупрозрачность, повороты, 3D эффекты), нет нормального масштабирования интерфейса HighDPI. Microsoft нас кинул — они сделали подобный движок только для Metro приложений.

Я попробовал Delphi XE3 и погнал тестовые примеры написанные на контролах Firemonkey 3D. Честно говоря меня они очень впечатлили своим потенциалом! Графический движок контролов окна даже мощнее чем на MacOSX.

1. Все окно приложения со всеми контролами рендерится через Direct3D и pixel shaders 2.0, т.е. вся отрисовка кнопок, чекбоксов картинок аппаратно ускоряется видеокартой.

2. Любые эффекты — полупрозрачность, можно повернуть контрол даже в 3D пространстве, можно добавить шейдерные эффекты типа свечения вокруг лабелов или blur. Можно положить контролы на грань куба и повернуть его. Hittest при этим работает. Конечно для обычных приложений это редко нужно, но для киосковых приложений или для мультимедийных скажем энциклопедий это супер.

3. Движок контролов композитный, а это значит что не надо мучится как в GDI чтобы сделать прозрачный фон или полупрозрачность. Нет мерцания при отрисовке, поскольку рендерится вся сцена за раз (как на MacOSX).

4. Я еще не изучил глубоко Firemonkey, но похоже что адаптировать приложение под HighDPI экраны (аля Macbook Retina) будет легко. Всю эту задачу возмет на себя сам Firemonkey. Архитектура графических контролов изначально под это расчитана.

5. Кроссплатформенность. Приложение компилируется в нативный код для Windows и Mac без дополнительной адаптиции.

Ничего подобного у Microsoft нет для десктопных приложений. Даже на Mac движок контролов попроще.
Re: Платформа Firemonkey для shareware
От: Grayscaler Россия  
Дата: 05.09.12 06:58
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Ничего подобного у Microsoft нет для десктопных приложений. Даже на Mac движок контролов попроще.


Вот не покидает меня ощущение, что Firemonkey — это как тюнинг для хлебовозки. Крутые диски, ксенон, по бокам неон — а нахрена?
Re: Платформа Firemonkey для shareware
От: YuriKobets Россия http://www.truelaunchbar.com — замена панели быстрого запуска
Дата: 05.09.12 09:39
Оценка: +3 :))
Здравствуйте, Аноним, Вы писали:

А>Нет полностью аппаратно ускоренного композиционного движка контролов с синхронным обновлением с частотой монитора, чтобы ничего не мерцало


Друг, открой для себя двойную буферизацию и стиль WS_CLIPCHILDREN. До кучи научись правильно давить WM_ERASEBKGND. И ничего не будет мерцать.
Re: Платформа Firemonkey для shareware
От: Евгений Акиньшин grapholite.com
Дата: 05.09.12 09:52
Оценка:
Здравствуйте, Аноним, Вы писали:


А>Ничего подобного у Microsoft нет для десктопных приложений. Даже на Mac движок контролов попроще.


WPF-а нету
Не шалю, никого не трогаю, починяю примус Diagrams Designer for iPad and Windows 10
Re: Платформа Firemonkey для shareware
От: dima_ksk  
Дата: 05.09.12 10:05
Оценка:
Здравствуйте, Аноним, Вы писали:

А>3. Движок контролов композитный, а это значит что не надо мучится как в GDI чтобы сделать прозрачный фон или полупрозрачность. Нет мерцания при отрисовке, поскольку рендерится вся сцена за раз (как на MacOSX).


Эта проблема элементарно решалась использованием DoubleBuffered. Для разных полупрозрачностей тоже достаточно пары функций.
Re: Платформа Firemonkey для shareware
От: vf  
Дата: 05.09.12 11:33
Оценка:
Здравствуйте, Аноним, Вы писали:

Это реклама что-ли?!

А>Я пишу программы и шареварю на Delphi уже почти 15 лет (и зарабатываю очень хорошо). Но мне кажется, что наши программы (на Delphi VCL и на C++/C#) зашли в тупик с теми технологиями графического интерфейса, которые нам предоставила Microsoft. Все эти программы используют старый чудовищно устаревший GDI интерфейс. Нет полностью аппаратно ускоренного композиционного движка контролов с синхронным обновлением с частотой монитора, чтобы ничего не мерцало, нет эффектов (полупрозрачность, повороты, 3D эффекты), нет нормального масштабирования интерфейса HighDPI. Microsoft нас кинул — они сделали подобный движок только для Metro приложений.


WPF сдох в угоду метро, но там все это есть, и аппаратное ускорение, и различные трансформации. Кому это нужно?!
Re: Платформа Firemonkey для shareware
От: BlackEric http://black-eric.lj.ru
Дата: 05.09.12 11:37
Оценка:
Здравствуйте, Аноним, Вы писали:

А>В соседнем топике затронули интересную тему (портирование Delphi VCL приложений на Delphi XE2/3 Firemonkey).


Да глючит оно страшно. Даже под виндой.
https://github.com/BlackEric001
Re: Платформа Firemonkey для shareware
От: djsoft  
Дата: 06.09.12 10:37
Оценка:
А>В соседнем топике затронули интересную тему (портирование Delphi VCL приложений на Delphi XE2/3 Firemonkey).

Firemonkey, идущий в комплекте в XE2 не годен для практического применения. Сначала вроде все нормально, на тестовых проектах, но как начинаешь что-то делать — не хватает кучи мелочей, да и не мелочей тоже.

Основное для меня — нет TListView. Ужас. Его можно эмулировать через ListBox и контейнеры, но оно получается жутко тормозное. Никаких виртуальных режимов там нет, а делать самому западло.

Теперь выходит XE3 с обновленным FM, я еще не смотрел что там. Суть, что они опять хотят денег — я за обновление ХЕ2 чуть более полугода назад заплатил, а тут опять.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.