Speed up Block Display

v6-display
v6
unhandled

#1

Hi @Steve are there any ways curves in blocks could redraw as fast as curves in hatches?

Here are some comparisons of a file consisting of curves and hatches and some text objects and a block. File tested in maximized Top view, zoom extent:

(This is a purchased set of blocks, so I can not post the file here, but I can PM it to you if you want to take a look for bugtracking reasons)

V5 wireframe 0.27 seconds
V6 wireframe 1.64 seconds

All hatches exploded:
V5 wireframe: 0.80 seconds
V6 wireframe: 1.66 seconds

Tested both in 4x AA and 8x AA (And V6 4x is as nice as V5 8x, but V5 has slightly thinner and nicer lines)


V6 Goal: Display Performance
#2

In v6 does not update the preview thumbnail, path: option, display mode, shaded, custom material, customize, maps.
For example, setting a map environment and moving the cursor percentage, do not update the preview! This seems a bug!


(Steve Baer) #3

If possible in the future, please make new posts for things like this. Having a bug report for preview thumbnails buried in a 216 message long thread about performance is likely to be lost. I appreciate the bugs that you are reporting and just want to make sure they don’t get lost.


#4

OK, thanks Steve. Where can I report any bugs found in the v6?


(Steve Baer) #5

Create a new topic and file it under the serengeti category


(Brian Gillespie) #6

Done :slight_smile:


#7

Thanks Brian.

Here is another test I did, compared V5 wireframe to V6 wireframe:

Basically 32.000 lines (8.000 rectangles arrayed, blocked, arrayed, blocked and arrayed)

V5 does it in 0.48 seconds and V6 does it in 1.65 seconds
V6 appears slower, but it yields 60 fps, so is that the result of an intelligent limitation?
If I block all this and make 3 copies of the new block then the result is this:

V5 3.28 sec
V6 3.97 sec

Both Rhino’s use default wireframe mode (expect white background on v5) and both has 4x AA.

Here’s the file:

nested block speed test.3dm (7.3 MB)

Oddly it’s on whopping 7.9 MB even though it only consists of one single rectangle.
I thought nested blocks were smart enough to not store the nested data one more time.


(Steve Baer) #8

Hi Jorgen,
When comparing speeds between 5 and 6 make sure to have the same viewport size and camera setup; this will make a difference in speed depending on the object and how much of the screen it takes up.

I would also ignore any number below 3.0 seconds for comparison since any number below that would not be noticeable during regular operation (we do perform additional optimizations while panning and rotating that are not accounted for in testmaxspeed). Those low numbers also tend to fluctuate quite a bit if you just run testmaxspeed over and over. I do appreciate these tests, but they feel like micro-optimizing models that users don’t actually create. I would much rather try to focus on a real user model that is exhibiting very poor display performance.

I hope this reply doesn’t come off sounding disrespectful. I appreciate what you are trying to do to help find ways to improve V6 performance, but focusing on display speeds with numbers this low doesn’t seem like a good approach to take for optimizing.


#9

Hi Steve, I see, but remember that I am trained by you guys to make examples as simple as possible so you can bug track them with as little hassle as possible.
And of course I test various screen sizes as 4 view, maximized and even fullscreen to see if the difference is consistent between V5 and V6 before I post.
Also my experience with Holomark2 is that these tests are very consistent and scalable and comparable to real life scenarios, but that is not a debate we need to take. I’ll supply real life scenes next time.

Also note that V5 has thinner lines and is visually easier to read than V6, actually V6 1 px width looks more like V5 2 px width:

V5:


V6:


#10

I just tested on a large scene with blocks and in shaded V6 is almost twice as fast. It has lots of meshes and blocks, but few nested blocks.


#11

Last note: I see that when I run TestMaxSpeed in V6 then it slows down when panning past the line drawings, V5 does not, but that is because V5 is running that slow already. So the noticable speed gain in V6 is regarding meshes and not curves.


#12

I just toss this in here as well, since I had already commented on the line thickness/AA quality:

In technical V5 with 2px thickness on all:

And V6 a px:

And V5 1px:
Notice how much sharper everything is with V5, it’s like a monitor with higher resolution (reglardless of the line thickness)


(Steve Baer) #13

I tried improving the anti-aliasing quality in V6 which did result in slightly thicker lines. I do want to try and get their thickness back down a little bit without sacrificing quality too much. That last V5 1px thickness image looks pretty jaggy and of poorer quality than the V6 image (at least on my monitor).


#14

Did you click on the image, or just view the downsampled serengeti version?


(Steve Baer) #15

yep, I am running on a retina display though so it’s hard to compare at the moment


#16

In the current V6 version (7.0.18051.5145, 02/20/2018), the display is actually slower with blocks than with polysurfaces.

When I explode all the blocks, there is no more downgrading to wireframe, and the framerate is still acceptable even in Ghosted mode.
So much for “Block display improvements”.

Also, as soon as a clipping plane is activated, the framerate comes down to a crawl.
This is in sharp contrast with any free viewer of which you can find dozens in any dumpster and that will display huge models with multiple clipping planes at lightning speed.

I updated almost uniquely because of that claimed improvement, but I find that it just isn’t real.


#17

We have to compare V6 to V5 for that statement to have any leverage, so do you not see any improvements from V5? If so, what kind of GPU do you have? Maybe it has a logic explanation as I surely see improvements.
Just tested a 1450 block file and ran a testmaxspeed:

Rendered:
V5: 73.78 seconds
V6: 12.5 seconds

That’s almost 6x faster

Shaded:
V5: 76.2 seconds
V6: 6.49 seconds

Ghosted:
V5: 300+ seconds (I termintated it as it was more than 3 seconds between each frame)
V6: 48.9 seconds

If you don’t call that an improvement then we are on different planets!


#18

I think you mean, V5: 73.78 seconds, V6: 12.5 seconds, no?


#19

I stand very corrected! That was a huge mistake!!!
And I have updated the text :smiley:


#20

I’m glad it was a mistake :wink:!