V6 - Tiny hesitation on first object/operation

I have been meaning to post this for months now…

The first object creation operation I do in a newly opened blank document always has a slight delay in execution - which is a bit unnerving when I try do do something fast.

For example, I open a new blank file, then draw a rectangle. Everything is perfectly responsive to click the first point and draw the rectangle on screen, but after I click the second point, Rhino freezes for about a half second, then finishes the command. After that, it’s perfectly fine. Same would happen with a box or other object creation command, the first object creation in any blank document exhibits this. And on all 3 of my computers.

If I open a previously-saved document that already has at least one object in it, it doesn’t happen. From this I infer that Rhino may be doing something to set up the object table in the document or some other preparatory operation behind the scenes which causes the delay…

Has anyone else experienced this? Just curious. Here is a quick video with a box - note the slight delay after the 3rd point click and the apparition of the box shaded - note this is not a mesh creation issue, it also happens with curves, etc.

1 Like

Yes.

Yes, I have reported this as https://mcneel.myjetbrains.com/youtrack/issue/RH-44830

It has been bugging me too.

image
You have no permissions to view this page

You were too fast - I did already change the visibility (:

1 Like

Hi @Helvetosaur,

This is most probably the line/curve drawing shader being compiled. It seems like the shader cache is not working, since this should only happen once for every Rhino version and/or GPU driver version.

I can reproduce the issue here. https://mcneel.myjetbrains.com/youtrack/issue/RH-44831

-David

@nathanletwory STOP IT! :S

1 Like

@Helvetosaur and @wim, try running the command “TestShaderCache”, make sure the command line reads “Cache Enabled” and restart Rhino. Does this fix the issue with slow refresh on the first curve drawn? I may have messed up the default setting for this feature.

It looks like it is enabled by default. Running the test command disables it; running it again to enable and then restart Rhino does not seem to fix the issue.

Command history:

Command: TestShaderCache
Cache Disabled
Command: TestShaderCache
Cache Enabled

I also don’t see a change in behavior. After toggling I restarted Rhino, drew a box, restarted again, and drawing a box still has the delay in both cases.

Yep, looks like the shader cache is working just fine. I’m suspecting it is the initial loading of environment textures. I can break Rhino during the pause and end up inside of
CRhGLEnvironmentV2::GetReflectionEnvironmentData
I don’t think we have a good way to cache that routine at the moment. Maybe @DavidEranen has some ideas on improving the performance of that routine.