Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update wxWidgets to v3.2.1 #2905

Merged
merged 60 commits into from
Dec 4, 2023
Merged

Conversation

Ocraftyone
Copy link
Contributor

-Updates wxWidgets from v3.1.5 to v3.2.1
-Add NanoSVG as a CMake dependency and remove from src (NanoSVG is now used by wxWidgets too)
-Implement wxBitmapBundle in many of the common components and BitmapCache

Misc Updates:
-WipeTowerDialog refactored to remove simple/advanced code as this functionality was disabled by BBL
-Fix blank plate being added to the object list
-On editing the fila. column in the objects list or object table, show drop down when ComboBox is shown. Editing is also completed when the drop down is closed.

Breaking Changes:
-ScalableBitmap[wxExtensions]: GetBmpSize, GetBmpHeight, and GetBmpWidth have been renamed to GetSize, GetHeight, and GetWidth respectivly.
-wxExtensions: msw_rescale_menu() has been renamed to sys_color_changed_menu()
-ScalableBitmap, LockButton, ScalableButton, ModeSizer [wxExtensions]: msw_rescale() has been renamed to sys_color_changed()

Ocraftyone and others added 30 commits November 5, 2023 03:45
Everything seems to be working (including the plater). I am not seeing any graphical issues
Removed simple version of the dialog since BBS removed the functionality but left the code.
Center the table (only seen when the table is smaller than the minimum size of the dialog)
Fix issue where editing a value causes the m_min_flush_label to change colors slightly
Fix an issue where changing a value or running an auto calc changes the disabled value from "-" to "0"
Update NanoSVG to work with PR SoftFever#2780
# Conflicts:
#	src/nanosvg/README.txt
#	src/nanosvg/nanosvg.h
#	src/nanosvg/nanosvgrast.h
#	src/slic3r/GUI/BitmapCache.cpp
#	src/slic3r/GUI/BitmapCache.hpp
#	src/slic3r/GUI/ImGuiWrapper.cpp
leaving colPrint and colEditing cases alone as it does not seem to impact anything
-Rename msw_rescale to sys_color_changed
-Replace GetBmpSize, GetBmpWidth, GetBmpHeight with renamed version (same name without "Bmp")

Both of these changes were also made by PrusaSlicer.

Original Commit: prusa3d/PrusaSlicer@066b567
Co-authored-by: YuSanka <[email protected]>
disable finding bundle in the cache to match load_svg
update to match values used in load_svg
@SoftFever
Copy link
Owner

SoftFever commented Dec 4, 2023

Looks good now.

Also, I must thank you again for helping revamp the CI/CD previously, so I don't have to prepare the prebuilt dependencies anymore. :)
Much appreciated! !

Copy link
Owner

@SoftFever SoftFever left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good

@Ocraftyone
Copy link
Contributor Author

@SoftFever Everything looks good on my end then. Windows looks great.
I think linux is fine some of the buttons along the top look a bit thin and I am getting a graphical issue with a lock showing up instead of the new BBL circular arrow next to the profile select (though i am getting this with the nightly too 🤷). I don't know how much of an issue these are because I can only check via emulator

@SoftFever SoftFever merged commit 25a0554 into SoftFever:main Dec 4, 2023
12 checks passed
@Ocraftyone
Copy link
Contributor Author

Looks good now.

Also, I must thank you again for helping revamp the CI/CD previously, so I don't have to prepare the prebuilt dependencies anymore. :) Much appreciated! !

No problem! Had lots of fun troubleshooting that 😄

@Ocraftyone Ocraftyone deleted the enh-update-wxwidgets branch December 4, 2023 15:23
@SoftFever
Copy link
Owner

@SoftFever Everything looks good on my end then. Windows looks great. I think linux is fine some of the buttons along the top look a bit thin and I am getting a graphical issue with a lock showing up instead of the new BBL circular arrow next to the profile select (though i am getting this with the nightly too 🤷). I don't know how much of an issue these are because I can only check via emulator

with so many changes integrated(don't forget @Noisyfox 's pending large PR), there will be a lot "fun" to catch bugs, LOL

@zviratko
Copy link

zviratko commented Dec 4, 2023

FYI I am having serious performance problems with high-poly models most likely related to this commit.
macOS Arm64 (M1 Max)
Try importing something like this: https://www.printables.com/model/331094-articulated-christmas-dragon

@Ocraftyone
Copy link
Contributor Author

Ocraftyone commented Dec 4, 2023

Hmm. I am not aware of anything in this commit that should affect the performance of rendering models. This does not touch any of the opengl rendering. Are you able to try the nightly before this commit and see if the issue persists?

Edit: this should be a link to the build artifacts for that commit

@Ocraftyone
Copy link
Contributor Author

I don't have access to Mac at all. Maybe @igiannakas can help?

@Noisyfox
Copy link
Collaborator

Noisyfox commented Dec 5, 2023

c13cecfc89a93eb188bfe2aa6ebfa9d3
Having trouble on windows with display scaling set to 200%

Left: 1.8.1, right: current master build 25a0554
image

@Noisyfox Noisyfox linked an issue Dec 5, 2023 that may be closed by this pull request
2 tasks
@Noisyfox
Copy link
Collaborator

Noisyfox commented Dec 5, 2023

I think the problem is wxBitmap is still used in places like BBLToolbar, which should be replaced with wxBitmapBundle

@igiannakas
Copy link
Contributor

I don't have access to Mac at all. Maybe @igiannakas can help?

I’ll check it out whether there is a difference between the builds performance wise - give me a few hours and I’ll come back to you

@Noisyfox
Copy link
Collaborator

Noisyfox commented Dec 5, 2023

I can now confirm that (at least) part of the issue was caused by not using the bitmapbundle, as some of the issues are gone after Noisyfox@cb60705 :

image

@Noisyfox
Copy link
Collaborator

Noisyfox commented Dec 5, 2023

I've raised #3000 for tracking and fixing Windows scaling related issues.

@superfloh247
Copy link

Sidenote: I usually update my sources just with git pull and then build_release_macos.sh.

This fails in this case, because the patch applied to the wxwidget dep creates a merge conflict which build_release_macos.sh does not detect.

I had to manually remove the dep rm -rf deps/build_arm64/dep_wxWidgets-prefix and now the build succeeds again.

@igiannakas
Copy link
Contributor

Hmm. I am not aware of anything in this commit that should affect the performance of rendering models. This does not touch any of the opengl rendering. Are you able to try the nightly before this commit and see if the issue persists?

Edit: this should be a link to the build artifacts for that commit

Hey

#2934

This one is causing the performance problem. I tried a build with the change reverted and the model is properly responsive.

@Noisyfox something to look into?

@igiannakas
Copy link
Contributor

Done a bit more digging on the perf issues. 1.8.1 runs smooth as butter on the 3d Preview -> 1.9 dev without the above change #2934 runs slower but workable. So there is something more that has changed there impacting performance. Then #2934 cause it to be completely unworkable for large models.

@zviratko
Copy link

zviratko commented Dec 5, 2023

#2934 is not it. I had a build without it and it had huge problems as well. I was wrong, it seems to be it.

I will try narrowing it down, but for some reason most of the builds don't actually run for me (it says the app is damaged), so I can't test every commit.

The first one works fine
The second one runs like crap
I'll try testing ones between....
Screenshot 2023-12-05 at 10 36 50

@igiannakas
Copy link
Contributor

#2934 is not it. I had a build without it and it had huge problems as well. I will try narrowing it down, but for some reason most of the builds don't actually run for me (it says the app is damaged), so I can't test every commit.

The first one works fine The second one runs like crap I'll try testing ones between.... Screenshot 2023-12-05 at 10 36 50

it is - there is a massive slow down because of this at least on my machine. There is a further PR that hits performance (which is what you're seeing probably) - I'll try and identify.

@igiannakas
Copy link
Contributor

I've opened a bug here so we can track it in the right place: #3002

@zviratko
Copy link

zviratko commented Dec 5, 2023

It's possible. I have 3 OrcaSlicer versions, the last one has outlines and I can't tell a difference from the already slow one :) (it looks great, though!)

@Ocraftyone
Copy link
Contributor Author

@igiannakas Thank you!

@Ocraftyone
Copy link
Contributor Author

@superfloh247 Yes, this is how it has been for a while. I am unsure of a quick and easy way to determine if deps have been updated via shell script, but I would assume there is a way for this to be done (I know GH actions uses a hash of the deps dir). I would suggest creating an enhancement ticket.

@igiannakas
Copy link
Contributor

Found crashing bug - exec bad access when clicking on the filament selector in the objects tab.

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Windows: Black preview in send print dialog
6 participants