jriegel wrote:First of all, we will never reach 100% in GPU due to the fact that modern GPUs consist mostly out of things we don't need, like Pixel engines geard toward shader programs or texture-engines. So 50% is already pretty high. The newer the GPU hardware, the lower the GPU usage I would guess...
The main difference of the Schenkel and the Panel are the number of nodes in the scene graph. So if you have a project consisting of small parts with only a couple of triangles each, the rendering process is more traversing the scene graph (CPU) rather then rendering triangles (GPU). So at them moment FreeCAD is not geared toward lots of parts. There fore our scene graph layout is to "flat". You can see this in the Scene Graph Inspector in the tools menu.
Does renderer the scene graph traversing is necessary in all cases? Or only for highlighing/selection/modyfing faces and vertices? Excuse me if I am wrong about rendering process, but rotaing/panning/zooming shouldn't need more than:
a) modify transformation matrix [CPU]
b) access buffered verices and indices [GPU/CPU]
c) apply the matrix [GPU]
d) finish rendering (shading, rasterization) [GPU]
Maybe some kind asynchronous algorithm (different pipeline for changing a view and for modyfing/selecting a model) is possible?
To me working in wireframe mode is horrible, but could we also model CERN, if we only rendered it in wireframe mode?
If so perhaps there could be niche FreeCAD uses, where one would want to operate in wireframe mode and then just hit "render" manually when you wanted to, like BRL does?
The wireframe will change nothing, while we are bottlenecked by scenegraph. Without that we could beat BRL-CAD preview even in shaded mode, I think;)
BRL-CAD has no dynamic selection/highlighting mouse feature.
PS A familiar picture