dgud / wings

Wings3D is an advanced sub-division 3D modeller.
http://www.wings3d.com
Other
582 stars 92 forks source link

New UI - Something to evaluate/check/change #251

Closed Micheus closed 6 years ago

Micheus commented 7 years ago

I'm going to group some observations I have been doing during my use of Wings3D, so we can discuss about solutions, changes or do nothing. :-)

:white_check_mark: a) By having some image viewers and/or AutoUV windows docked, if we start a new project they becomes invalids since the Outline is empty; b) When there is a image viewer active/opened and the image is updated in the Outline that viewer isn't updated; c) Folder visualisation in Geometry Graph has been getting some complains. I use it a little and I also think the old way (all together) seemed to be better to use. What about to use a TreeView control as the one for Outliner? d) The layout isn't preserved if we decide to Maximise the main window and then restore it back. Maybe we should keep the current layout stored for use when Restore window be activated. Would this kind of event is available for all OS's?

dgud commented 7 years ago

c) Folder visualisation in Geometry Graph has been getting some complains. I use it a little and I also think the old way (all together) seemed to be better to use. What about to use a TreeView control as the one for Outliner?

The treecntrl doesn't work with several icons as we have in the geom graph, which is why I choose to change it, i.e. make it look like a modern file browser, dir structure on the left panel and files (with icons) on the right panel.

I don't think it is really good either, but it was the best I could do, more time/code can probably make it better.

Micheus commented 7 years ago

:white_check_mark: e) Auto-Rotate - it's too much slow in 2.1.5. If compared to 1.5.4 with has settings for Degree (1°) and Delay (60), the current 2.1.5 that has settings only for Degree (1°) it takes 2':15" to rotate 180° a object with ~130K faces against the 17" spent by the old one.

dgud commented 7 years ago

The old implementation was broken and could stall the whole machine if the model was to large or used +/- to change the speed, so I changed it. Now you don't change the speed, you change the rotation.. But it requires that erlang can draw the model in 60FPS, if it can't it will take longer time.

If you compare a with a single cube what happens?

Micheus commented 7 years ago

Now at home, checking on my PC (with Radeon R9 280X): Cube v1.5.4 = 11' | v2.1.5 = 42' Two Bunnies v1.5.4 =11' | v2.1.5 = 42'

So, as I have a better GPU it spines faster, but it seems like it doesn't matter the amount of polygons - the time spent is always the same for both version.


Redoing the test at work... On a poor PC i5 650 3.2GHz (1st generation with integrated GPU HD Graphics): Cube v1.5.4 = 11' | v2.1.5 = 35' Two Bunnies v1.5.4 = 20' | v2.1.5 = 2":20'

Now we see that PC's without a good GPU get slowest with the poly count increasing.

obs: just fixing the project size it has ~130K faces (not ~230K)

dgud commented 7 years ago

So, as I have a better GPU it spines faster, but it seems like it doesn't matter the amount of polygons - the time spent is always the same for both version.

Which is a good thing.

So 2.1.5 turns with 180/42=4.3 degrees/seconds and and 1.5.4 turns with 180/11 = 16 degrees/seconds. Yes, I changed the default rotation velocity because I thought it was too high before. You can edit the default degrees in preferences it you think it's to low. And you can change it with +/- keyboard buttons.

The problem is how to handle it when your computer is too slow, then you can decrease the number of FPS to keep the rotation at the same speed, but I didn't think it was worth my time (nor increase the code complexity) to handle that case in a modeller.

And the code was broken before try pressing + a couple of times in 2.0 with a large model, when combining that with wx, the event checking was life locked so we never received any input events the computer became to busy just rendering the scene and you couldn't turn it off.

Micheus commented 7 years ago

Thanks for the explanation. I just updated the previous comment with the retest I did at work.

By trying to apply your calcs I set the Angle to 10° (and even 45°) and the rotation speed stays the same. I left Wings3D and started it again and no change. Can you confirm that?

dgud commented 7 years ago

Yeah I saw that there where a maximum check in the code, that might be bug..

On Thu, Feb 16, 2017 at 1:25 PM Micheus Vieira notifications@github.com wrote:

Thanks for the explanation. I just updated the previous comment with the retest I did at work.

By trying to apply your calcs I set the Angle to 10° (and even 45°) and the rotation speed stays the same. I left Wings3D and started it again and no change. Can you confirm that?

— You are receiving this because you commented.

Reply to this email directly, view it on GitHub https://github.com/dgud/wings/issues/251#issuecomment-280317102, or mute the thread https://github.com/notifications/unsubscribe-auth/AAE8KQiR6Kxm5IWSlx3uwIusiKsuTevNks5rdEAkgaJpZM4L7eXu .

Micheus commented 7 years ago

f) I have to agree with oort in his docking windows post; and t can be very annoying with the use of UV mapping windows. If docked it can mess up our window layout when removed since most the time we need it in a big size. The fact we can work between it and a geometry window for select and see results of a shader applied also make relevant we don't need all the time remember to hit shift together. In fact, in many situations I missing the minimize window feature (to work like the room up). Use an object with many textured materials and then try to activate the AutoUV editor window to change anything - one window per material of that object will pop up on screen. That was something easy to manage using the old roll up feature.

Micheus commented 7 years ago

Item (a) fixed in Fixes for 2.1.5 (b) commit 6cab120