Welcome to the Onshape forum! Ask questions and join in the discussions about everything Onshape.
First time visiting? Here are some places to start:- Looking for a certain topic? Check out the categories filter or use Search (upper right).
- Need support? Ask a question to our Community Support category.
- Please submit support tickets for bugs but you can request improvements in the Product Feedback category.
- Be respectful, on topic and if you see a problem, Flag it.
If you would like to contact our Community Manager personally, feel free to send a private message or an email.
Collecting Performance Data
ronald_huveneers
Member Posts: 5 ✭
in General
I'm starting to collect a more detailed performance information from the onshape check. I have seen the topic where there are screenshots posted, but there is more information in the background that can't easily be captured, and isn't easily modified / charted.
How you can help (Instructions for Chrome):
How you can help (Instructions for Chrome):
- Close as many windows as possible for best performance.
- Go to https://cad.onshape.com/check
- Wait for the check to fully complete
- Right click on the page, and click Inspect
- Make sure you are in the Console
- Paste this and press enter:
A = angular.element(document.getElementsByClassName('os-compatibility-section')).controller().$scope.ctrl; B = JSON.stringify({ "allChecksPassed": A.allChecksPassed(), "isSupportedDesktopBrowser": A.isSupportedDesktopBrowser(), "userAgent": A.browserSupportInfo.userAgent, "platform": A.browserSupportInfo.platform, "isMobilePlatform": A.isMobilePlatform(), "isCoreWebGLSupported": A.isCoreWebGLSupported(), "areExtensionsMissing": A.areExtensionsMissing(), "floatTextureSupported": A.floatTextureSupported, "anistropicSupported": A.anistropicSupported, "are32BitIndicesSupported": A.are32BitIndicesSupported, "coreWebGLSupportMissingOrIncomplete": A.coreWebGLSupportMissingOrIncomplete(), "coreWebGLSupportHasOtherProblem": A.coreWebGLSupportHasOtherProblem(), "glVendor": A.getRenderInfoString(A.rendererInfo.glVendor), "glRenderer": A.getRenderInfoString(A.rendererInfo.glRenderer), "performanceError": A.performanceError, "performanceResult": A.performanceResult, "isDebugCapabilityEnabled": A.isDebugCapabilityEnabled, "oAllWebSocketChecksPass": A.doAllWebSocketChecksPass() }); copy(B); - This will automatically copy the performance results to your clipboard.
- Go to this google sheet and paste in the result.
- Click submit
- Nothing more
0
Comments
As regarding for the report, it's only visible if there is an issue, and it doesn't include all data that I use.
Results are here: https://docs.google.com/spreadsheets/d/15C_AZFi_HzQJYzyKUjGGAEHwh_uWohB30MMPRpwc5T8/edit?usp=sharing
Parsed results are on the "Parsed result" tab in the bottom.
It seems a little complicated compared to a simple Google Sheet / Form and having someone just enter in their data in directly.
Without comparing the results to a "reference" data set for some kind of benchmark, do we know what 800 million or 150 million triangles relates back to in a real world model? Or is that the next step in the project?
The benchmark also doesn't record for several other real world parameters (CPU, RAM, VRAM) that all have major impacts.
To be fair, I added in some entries with a few configuration variables.
Looking to optimize some settings to use OnShape, I think you are the one with the Radeon card, it was interesting to see that firefox was giving a double of speed improvement.
It also seems above a certain number of Triangles / Lines it just says "100%" and doesn't compute it.
The major speed difference was that I was running Firefox with native OpenGL drivers which for whatever reason seem to work much better for these cards, and you can feel Onshape is MUCH smoother when working with large models. The downside however is that OpenGL is poorly supported with Firefox / Chrome and sometimes it will be unstable, other times it will fail to render the viewport at all from browser update to update. I.e. when it runs it's fantastic, just can't rely on it for production work all the time.
Chrome and Firefox (at least for now) use what is called ANGLE which is basically a translation layer between WebGL and DirectX (the API most used for 3D graphics in Windows).