TTriSurface hardware accelaration
-
- Newbie
- Posts: 7
- Joined: Thu Nov 03, 2022 12:00 am
TTriSurface hardware accelaration
Hello,
I'm trying to represent a real-time curving substrate in 3D.
My goal is to offload most of the heavy-lifting onto a GPU.
To do so, I have put together a TTriSurface in a TChart within a demo project you'll find attached.
The rendering speed of my demo application is improvable (maximum 20 FPS on my machine).
How can I ensure effective hardware acceleration ?
Below are some items that stood out to me :
- In VCLTee, the OpenGL module achieves my requirements, but it isn't supported in FMXTee.
- Enabling global Skia4Delphi usage, TChart canvases seem to default to GLCanvas (supposedly an OpenGL canvas). Nevertheless, it doesn't seem to use the GPU out of the box.
- The base TChart canvas (D2DCanvas) doesn't seem to offload 3D rendering onto the GPU.
Below is my configuration:
Software:
- Embarcadero Delphi 11.3 version 28.0.48361.3236.
- TeeChart FMX Pro with source : Build 2023.38.230607.
- Skia4Delphi version 5.0.0.
Hardware :
- Intel Iris Xe graphics GPU (vPro i7 laptop CPU)
- Nvidia T550 Laptop GPU
Thanks in advance for your help.
Have a nice day.
Regards,
Gabriel A. TAOUSSI
I'm trying to represent a real-time curving substrate in 3D.
My goal is to offload most of the heavy-lifting onto a GPU.
To do so, I have put together a TTriSurface in a TChart within a demo project you'll find attached.
The rendering speed of my demo application is improvable (maximum 20 FPS on my machine).
How can I ensure effective hardware acceleration ?
Below are some items that stood out to me :
- In VCLTee, the OpenGL module achieves my requirements, but it isn't supported in FMXTee.
- Enabling global Skia4Delphi usage, TChart canvases seem to default to GLCanvas (supposedly an OpenGL canvas). Nevertheless, it doesn't seem to use the GPU out of the box.
- The base TChart canvas (D2DCanvas) doesn't seem to offload 3D rendering onto the GPU.
Below is my configuration:
Software:
- Embarcadero Delphi 11.3 version 28.0.48361.3236.
- TeeChart FMX Pro with source : Build 2023.38.230607.
- Skia4Delphi version 5.0.0.
Hardware :
- Intel Iris Xe graphics GPU (vPro i7 laptop CPU)
- Nvidia T550 Laptop GPU
Thanks in advance for your help.
Have a nice day.
Regards,
Gabriel A. TAOUSSI
- Attachments
-
- ImprovableTriSurface.zip
- (7.51 KiB) Downloaded 2322 times
-
- Newbie
- Posts: 7
- Joined: Thu Nov 03, 2022 12:00 am
Re: TTriSurface hardware accelaration
Greetings,
To demonstrate the performance I'm looking for, please find attached a project based on VCLTee I have assembled :
I believe FMXTee's Chart3D holds the answer to my question. It does seem to support hardware acceleration out of the box.
Unfortunately, within a Chart3D, trisurfaces don't render at all on my machine.
In the attachments, you'll find another project to illustrate this, here is its output on my machine :
Any idea what I might be missing ?
Have a great day.
Regards,
Gabriel A. TAOUSSI
To demonstrate the performance I'm looking for, please find attached a project based on VCLTee I have assembled :
I believe FMXTee's Chart3D holds the answer to my question. It does seem to support hardware acceleration out of the box.
Unfortunately, within a Chart3D, trisurfaces don't render at all on my machine.
In the attachments, you'll find another project to illustrate this, here is its output on my machine :
Any idea what I might be missing ?
Have a great day.
Regards,
Gabriel A. TAOUSSI
Re: TTriSurface hardware accelaration
Hello Gabriel,
Sorry for the delayed reply here.
This is just to confirm only these environments use the GPU:
- VCL + OpenGL
- FMX + TChart3D
We are still experimenting with Skia canvas.
Sorry for the delayed reply here.
This is just to confirm only these environments use the GPU:
- VCL + OpenGL
- FMX + TChart3D
We are still experimenting with Skia canvas.
We'll take a look at that.Gabriel, A. TAOUSSI wrote: ↑Mon Aug 07, 2023 8:06 amUnfortunately, within a Chart3D, trisurfaces don't render at all on my machine.
Best Regards,
Yeray Alonso Development & Support Steema Software Av. Montilivi 33, 17003 Girona, Catalonia (SP) | |
Please read our Bug Fixing Policy |
-
- Newbie
- Posts: 7
- Joined: Thu Nov 03, 2022 12:00 am
Re: TTriSurface hardware accelaration
Hello Yeray,
Thank you for the reply. I have been busy on other fronts as well.
Have you been able to reproduce the TTriSurface absence of rendering within FMX Chart3D ?
In the meantime, I had to move forward with my back-end development, among others. To do this, I wrapped a VCLTee Chart3D in a DLL for temporary use with my FMX application.
As demonstrated with the attached project below, it turns out VCLTee's TTriSurface only performs well with no new sample values filled :
This prevented me from directly feeding my non-regular grid data. Instead, I had to interpolate my data to a regular grid and use a TSurface, removing TTriSurfaces altogether:
With my back-end validated, I have to admit the front-end is turning into a liability. This is because:
- I am using a VCL DLL
- The resulting 3D is far from crisp
- The cost of interpolating into a regular grid is unreasonable.
Do you think real-time TTriSurface plotting is doable with FMX TeeChart ?
Thanks for your help.
Have a great day.
Regards,
Gabriel A. TAOUSSI
Thank you for the reply. I have been busy on other fronts as well.
Have you been able to reproduce the TTriSurface absence of rendering within FMX Chart3D ?
In the meantime, I had to move forward with my back-end development, among others. To do this, I wrapped a VCLTee Chart3D in a DLL for temporary use with my FMX application.
As demonstrated with the attached project below, it turns out VCLTee's TTriSurface only performs well with no new sample values filled :
This prevented me from directly feeding my non-regular grid data. Instead, I had to interpolate my data to a regular grid and use a TSurface, removing TTriSurfaces altogether:
With my back-end validated, I have to admit the front-end is turning into a liability. This is because:
- I am using a VCL DLL
- The resulting 3D is far from crisp
- The cost of interpolating into a regular grid is unreasonable.
Do you think real-time TTriSurface plotting is doable with FMX TeeChart ?
Thanks for your help.
Have a great day.
Regards,
Gabriel A. TAOUSSI
-
- Newbie
- Posts: 7
- Joined: Thu Nov 03, 2022 12:00 am
Re: TTriSurface hardware accelaration
Hello Yeray,
Is there a real-time plotting implementation example with FMX TTriSurface usage ?
Best regards,
Gabriel, A. TAOUSSI
Have you had time to look into this ?Yeray wrote: ↑Fri Aug 25, 2023 6:47 amWe'll take a look at that.Gabriel, A. TAOUSSI wrote: ↑Mon Aug 07, 2023 8:06 amUnfortunately, within a Chart3D, trisurfaces don't render at all on my machine.
Is there a real-time plotting implementation example with FMX TTriSurface usage ?
Best regards,
Gabriel, A. TAOUSSI
Re: TTriSurface hardware accelaration
Hello,
We appreciate your patience and your willingness to work with us on this.
After investigating it, it pains us to admit that we haven't yet identified a clear-cut solution here.
We appreciate your patience and your willingness to work with us on this.
After investigating it, it pains us to admit that we haven't yet identified a clear-cut solution here.
Best Regards,
Yeray Alonso Development & Support Steema Software Av. Montilivi 33, 17003 Girona, Catalonia (SP) | |
Please read our Bug Fixing Policy |
-
- Newbie
- Posts: 7
- Joined: Thu Nov 03, 2022 12:00 am
Re: TTriSurface hardware accelaration
Hello Yeray,
It's the least I can do for our developper community.
Thank you for your availability and your transparency.
To help prioritize and reproduce this issue, would you mind me filing a bug report ?
Best regards,
Gabriel, A. TAOUSSI
It's the least I can do for our developper community.
Thank you for your availability and your transparency.
To help prioritize and reproduce this issue, would you mind me filing a bug report ?
Best regards,
Gabriel, A. TAOUSSI
Re: TTriSurface hardware accelaration
Best Regards,
Yeray Alonso Development & Support Steema Software Av. Montilivi 33, 17003 Girona, Catalonia (SP) | |
Please read our Bug Fixing Policy |
-
- Site Admin
- Posts: 83
- Joined: Wed Nov 12, 2003 5:00 am
- Location: Girona, Catalonia
- Contact:
-
- Newbie
- Posts: 7
- Joined: Thu Nov 03, 2022 12:00 am
Re: TTriSurface hardware accelaration
Hi David,
Thank you for your initiative and for your time.
As it touched two different subjects, this thread is a little convoluted.
The bug is about FMX TTriSurfaces not rendering within a chart3D. The relevant project is TriSurfaceInChart3D.zip :
Here’s a description and test plan for bug 2644 :
Description :
Within an FMX Chart3D, TTriSurface objects don't render.
Software configuration :
- Embarcadero Delphi 11.3 version 28.0.48361.3236.
- TeeChart FMX Pro with source : Build 2023.38.230607.
- Skia4Delphi version 5.0.0.
Hardware configuration :
- Intel Iris Xe graphics GPU (vPro i7 laptop CPU)
- Nvidia T550 Laptop GPUD
Test plan :
1 - Unzip, build and launch the project in 64-bit release mode.
2 - Click the upper left side "3D editor" button.
3 - Within the newly opened window, select the Series group in the left side treeview.
4 - Make sure Series1 is listed while TTriSurface doesn’t render in the Chart3D.
Can you please update bug 2644 ?
Please note that the TeeChart software version has been specified.
Please also note that this is not an enhancement, rather an anomaly resolution.
Thank you again for your help.
Regards,
Gabriel A. TAOUSSI
Thank you for your initiative and for your time.
As it touched two different subjects, this thread is a little convoluted.
The bug is about FMX TTriSurfaces not rendering within a chart3D. The relevant project is TriSurfaceInChart3D.zip :
Here’s a description and test plan for bug 2644 :
Description :
Within an FMX Chart3D, TTriSurface objects don't render.
Software configuration :
- Embarcadero Delphi 11.3 version 28.0.48361.3236.
- TeeChart FMX Pro with source : Build 2023.38.230607.
- Skia4Delphi version 5.0.0.
Hardware configuration :
- Intel Iris Xe graphics GPU (vPro i7 laptop CPU)
- Nvidia T550 Laptop GPUD
Test plan :
1 - Unzip, build and launch the project in 64-bit release mode.
2 - Click the upper left side "3D editor" button.
3 - Within the newly opened window, select the Series group in the left side treeview.
4 - Make sure Series1 is listed while TTriSurface doesn’t render in the Chart3D.
Can you please update bug 2644 ?
Please note that the TeeChart software version has been specified.
Please also note that this is not an enhancement, rather an anomaly resolution.
Thank you again for your help.
Regards,
Gabriel A. TAOUSSI
Re: TTriSurface hardware accelaration
Hello Gabriel,
I've just added your comments and project to the ticket.
Thanks for the update.
I've just added your comments and project to the ticket.
Thanks for the update.
Best Regards,
Yeray Alonso Development & Support Steema Software Av. Montilivi 33, 17003 Girona, Catalonia (SP) | |
Please read our Bug Fixing Policy |
-
- Newbie
- Posts: 7
- Joined: Thu Nov 03, 2022 12:00 am
Re: TTriSurface hardware accelaration
Hello Yeray,
Thank you for your patience.
Let me know if I can help with possible tests.
Have a great day.
Regards,
Gabriel, A. TAOUSSI
Thank you for your patience.
Let me know if I can help with possible tests.
Have a great day.
Regards,
Gabriel, A. TAOUSSI