KitwareMedical / trame-slicer

Bring the capabilities of 3D Slicer to the web with modern UI using the trame framework!
Other
11 stars 4 forks source link

Server/Client-side rendering #11

Open andy9t7 opened 1 month ago

andy9t7 commented 1 month ago

Hi,

I noticed that when I upload a large segmentation node file, moving it around in the views is laggy. Is all the rendering being done server-side? If so, is it possible to turn on client-side rendering?

Thank you

Thibault-Pelletier commented 1 month ago

Hi @andy9t7,

At the moment, trame-slicer only supports remote rendering using trame-rca. Although client-side rendering is supported by trame, we don't plan to support that just yet with trame-slicer. The main technical blocker is the support for serialization / deserialization of rendering classes inside Slicer which should happen after the current migrations to VTK 9.4+ and proper Slicer python wheel generation.

At the moment, we want to properly support server side rendering and optimize when possible. Could you check what is taking time in your use case using profiling tools to give us more insight on the bottleneck(s)?

Best, Thibault

Thibault-Pelletier commented 5 days ago

Hi @andy9t7

For information, a performance problem was fixed in trame-rca. Bumping the trame-rca version to v2.1.3+ and installing turbo-JPEG on your system should improve performances.

You may also be interested in deactivating V-sync on the server running trame-slicer as it will further improve the performances.

Best, Thibault