views:

568

answers:

4

If you are sticking with Delphi for Win32, what do you use as GUI framework, in order to approach the versatility and performance of the WPF framework on .NET?

There are some alternatives out there, such as DXScene, but it appears to have a problem with font clarity. Graphics32 and AGG are excellent low-level libraries, but lack a high-level design environment or IDE-plugin.

What do you use to implement a modern vector-based GUI?

+3  A: 

The Delphi VCL still works just fine for me, and without WPF's infamous "learning cliff".

Mason Wheeler
The Delphi VCL doesn't offer any vector-based GUI development -- and not integrated in the IDE. I'm not advocating WPF, just looking for an alternative on Win32.
Domus
This is completely informal and not representing anything official in any way, but during CodeRage I had a conversation with David I and among other things, we discussed the possibility of an OpenGL-based vector-graphics visual control system, in conjunction with cross-platform plans for Delphi. So, what does that mean? Absolutely nothing, except that David I is thinking about the idea, and we might maybe see something like that in a few years.
Mason Wheeler
A: 

Sorry Domus, but WPF is not known as a "performance" framework also isn't hardware accelerated. WPF is a layer over windows 3.1 common controls.

In the other hand Direct2d is hardware-accelerated 2-D graphics API that provides high performance and high-quality rendering for 2-D geometry, bitmaps, and text. And is available in Delphi 2010.

http://msdn.microsoft.com/en-us/magazine/dd861344.aspx

Francis Lee
Pardon? WPF is layered on top of Direct 3D. Windows 3.1 common controls?!!
Domus
WPF is a new code base that makes heavy use of the graphics card. Maybe you're mixing up WPF with Windows Forms, which is just a layer on top of Windows?!
Carsten Kuckuk
Direct2D uses an immediate-mode calling pattern (like Direct3D).WPF is a managed code framework which uses a retained-mode calling pattern. Please look at your processor usage while running an WPF application.
Francis Lee
@Francis, I'm not sure what the author of this reply meant when he wrote it, but WPF 4 will use Direct2D.
Pavel Minaev
@Pavel WPF will not use Direct2D directly, it will use its own internal retained-mode API (MIL). This impact directly in performance and memory usage compared with C++ or any native code talking directly to direct2d
Francis Lee
A: 

I use VCL and DevExpress for all my GUI needs. DevExpress also have a Skin Library if you need a more fancy UI.

Mihaela
No, no controls. Just a vector-based GUI.
Domus
If I may ask why do you insist on vector-based UI? What's the gain? Just curious.
Mihaela
Scaling, rotation, complex figure rendering. Basically, all controls that are commonly used today were introduced over twenty years ago. The gain is an improved interaction experience, with "controls" tailored to the task and around the user's mental model. Total freedom of design. Etc.
Domus
Well that's a good enough reason. I'm happy with Delphi's offerings. But if you follow the saying "Choosing the right tool for the job" than maybe Adobe AIR would be the best choice for the job. Net adds to much overhead when compared to AIR.
Mihaela
Thanks, Mihaela. Do you have any experience with Adobe AIR?
Domus
Not much, I just played with it. But there's a big pile of questions and answers here on that subject. Good luck.
Mihaela
A: 

Actually there are no libs which will allow you to use WFP directly in Delphi.

I would suggest you to try and use AGG and build your own lib for such tasks or use AGG's commercial descendant.

Yogi Yang 007
Well, I don't want to use WPF. I'm looking for an alternative library with IDE-plugin. AGG is a 3D library?
Domus
No AGG is a 2D Library with sub-pixel facility.http://www.aggpas.org/AGG (and AggPas too) doesn't depend on any graphic API or technology. Basically, you can think of AGG as of a rendering engine that produces pixel images in memory from some vectorial data. But of course, AGG can do much more than that.
Yogi Yang 007