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

New release BlendLuxCore Wheels v2.9a2 - bugs, quirks and feedback #948

Open
epileptrolytics opened this issue Jan 2, 2025 · 17 comments
Open

Comments

@epileptrolytics
Copy link

epileptrolytics commented Jan 2, 2025

First, big thanks to @howetuft and @odil24 for updating and improving BlendLuxCore!

I want to give some feedback concerning the Mac OS ARM version I have installed on my MacBook Pro M3 Pro, Sonoma.
I'm unsing Blender 4.3.2 which is more stable than 4.2 LTS which crashes a lot even with Cycles.

LuxCoreArm+

Comparing with BlendLuxCore 2.61 on Blender 3.1 Intel/Rosetta rendering with PathOCL on the GPU is much slower especially at the render start, while BiDir speed has improved on the new ARM release. But the "post12" version I tested previously with Blender 4.2 was even faster with BiDir, while Path OCL was only 1/2 speed of v2.9a2 and 1/4 of 2.61 (not in the image above).

OIDN works faster as well.

I opened and tested various files and mostly everything works, the render speed gain respectively loss is also similar, so the OpenCL implementation for Apple Silicon needs some improvement.

I will continue testing and post here when something comes up.

@howetuft
Copy link
Contributor

howetuft commented Jan 6, 2025

Hello,
I've activated a few optimizations in the wheels, including:

  • SIMD use in embree
  • Intel TBB use in embree
  • SIMD use in openvdb
  • General optimization for speed in compilation (O2/O3) all over the code

It's in the last version of wheels (post13)

It is expected to speed up rendering: --> to check it, would you be so kind to rerun your above benchmarks, please?

Normally, the last version of the wheel should be installed automatically by BlendLuxCore, but it may be safer to uninstall/reinstall BLC.
Many thanks in advance!

@epileptrolytics
Copy link
Author

epileptrolytics commented Jan 6, 2025

Hi, thanks for your improvements!

Now I'm an artist, not a coder and don't understand this new wheels installation stuff.
I'm only on GitHub because when I found a bug the old LuxCore Devs told me: Get on GitHub and open an issue!

Now I tried to deactivate the BLC extension which caused this error:
screenshot2
Then I deleted BLC and installed anew from the official 2.9.a2 wheels release.
Then I found the refresh button I should have used.

Anyways, the speed test with the food scene shows no change at all, 775 k/s for BiDir, PathOCL ~800k/s.

I went searching for this post13 release and found a bunch of entries, trying the 13-11 one it wouldn't install with this error:
screenshot3

Sorry for being of no help!

A noob like me needs a valid download link.
Also it would help when the BlendLuxCore Add-on preference setting would show the current version like: 2.9.a13 so that there were a feedback if the runtime refresh actually succeeded.

@odil24
Copy link
Contributor

odil24 commented Jan 7, 2025

Hi, thanks for your improvements!

Now I'm an artist, not a coder and don't understand this new wheels installation stuff.
I'm only on GitHub because when I found a bug the old LuxCore Devs told me: Get on GitHub and open an issue!

Now I tried to deactivate the BLC extension which caused this error:
screenshot2
Then I deleted BLC and installed anew from the official 2.9.a2 wheels release.
Then I found the refresh button I should have used.

Anyways, the speed test with the food scene shows no change at all, 775 k/s for BiDir, PathOCL ~800k/s.

I went searching for this post13 release and found a bunch of entries, trying the 13-11 one it wouldn't install with this error:
screenshot3

Sorry for being of no help!

A noob like me needs a valid download link.
Also it would help when the BlendLuxCore Add-on preference setting would show the current version like: 2.9.a13 so that there were a feedback if the runtime refresh actually succeeded.

@howetuft It seems-like that bug appeared which I fixed before (are you remember my commit about reg/unreg?).

@epileptrolytics It is because "blender_manifest.toml" file has not been included in the zip archive (@howetuft will review it again)

@howetuft
Copy link
Contributor

howetuft commented Jan 7, 2025

Hello @epileptrolytics,

First of all, thank you for your voluntary help!
In the latest version of BlendLuxCore Wheels, you're not supposed to fetch the wheel yourself: the extension takes care of this itself - it must have done so silently.
Moreover, user installation of the wheel is not provided for, so the error message you got when trying to do so (“Missing manifest”) is logical.
On the other hand, I agree with you that the wheel version should be displayed on the extension page. I'll see what I can do.

@odil24 regarding the other “Missing bl_rna attribute” message, perhaps the repairing commit got lost in the episodes of erroneous merges and rollbacks? Can you please check and, if necessary, push back a PR (being careful to circumscribe it to this commit only)?

Anyways, the speed test with the food scene shows no change at all, 775 k/s for BiDir, PathOCL ~800k/s.

That's the most annoying thing.

@epileptrolytics
Copy link
Author

epileptrolytics commented Jan 7, 2025

There is a new BLCw v2.9a3 release online, tested on MacBook M3 Pro MacOS 14.7 on Blender 4.2.5 LTS ARM:
No change of the results in my first post with CPU and GPU speed in the food scene.

Still the development is very encouraging and much appreciated, keep up the good work guys!

@CodeFHD
Copy link
Member

CodeFHD commented Jan 8, 2025

I've started testing with my Archlinux notebook again. There is an issue with geometry it seems.

System info:
Blender 4.2.5 LTS and 4.3.1
BlendLuxCore: v2.9a3 and blc-build from source
CPU: Ryzen 8845HS
GPU: RTX4060 Mobile

Description to reproduce:

  • Load default scene
  • Activate Viewport render
  • Blender crashes, see log attached

Variation 1: If the cube is deleted, viewport doesn't crash. Lights and Camera seem ok.
Variation 2: Final Render (Press F12) doesn't crash, but the cube is not visible

blender.crash.txt

Edit: Just to be clear, no issue on Windows (with different hardware though)

@CodeFHD
Copy link
Member

CodeFHD commented Jan 8, 2025

Possibly related Core issue:
LuxCoreRender/LuxCore#626

Shows a similar backtrace by someone else earlier in 2024, so might not be related to the wheels build

@howetuft
Copy link
Contributor

howetuft commented Jan 9, 2025

There is an issue with geometry it seems.
Load default scene
Activate Viewport render
Blender crashes, see log attached

Hello,

I actually confirm the issue in post13 for Linux (not in post12 and lower, and not in Windows).

Curiously, the bug does not occur :

  • during the automatic tests that are run when the wheel is built
  • during tests that can be run on the command line after the wheel has been installed (pyluxcoretest)
  • during rendering of the file generated by BlendLuxCore, using pyluxcoreconsole.
    This only happens in the context of Blender's Python interpreter.

After investigation, it is linked to an optimization triggered in post13 which compiles embree3 with TBB activated. This also implies using embree3 as a shared library, not a static one like in previous version. To me, it smells like an alignment problem, but without certainty.

In any case, I've rollbacked the embree / TBB optimisation and made a new release of the wheel: post14 version. This should restore normal operation.

However, it raises the question of why precisely this bug appears in the circumstances described above and how TBB can be activated in embree without it occurring; and also the question of introducing Blender-based tests into the construction of the wheel.

@odil24
Copy link
Contributor

odil24 commented Jan 9, 2025

Anyways, the speed test with the food scene shows no change at all, 775 k/s for BiDir, PathOCL ~800k/s.

@howetuft @epileptrolytics
Here my results on Windows 10:
1239
1240

@odil24
Copy link
Contributor

odil24 commented Jan 9, 2025

...made a new release of the wheel: post14 version

@howetuft sorry, but I do not understand what does mean that "postxx"

@howetuft
Copy link
Contributor

howetuft commented Jan 10, 2025

This is the wheel version (or sub-version exactly). The version is 2.9.alpha1, which is LuxCore version which the wheels are based on, but when I release a new version of the wheel, tweaking or fixing the build, I increase the "post".
So, the complete version for the wheel is: 2.9.alpha1.postXX
By the way, nice render!

@epileptrolytics
Copy link
Author

epileptrolytics commented Feb 2, 2025

There is another problem with the wheel installation, it causes problems when offline.
I just rendered an animation with LuxCore on my Macbook and closed it.
When reopening a while later I got the error-message "LuxCore engine not available" but when checking in the preferences, the add-on was enabled. Trying to disable and reenable failed with another error.
I proceeded to deinstall and reinstall when I suddenly noticed that I had disabled my WiFi and therefore no internet connection.
So I got online again and after opening Blender 4.2.5 LuxCore (post 14 version) was ready to work.

Disabling LuxCore in Blender when offline should definitely not happen IMHO.

@CodeFHD
Copy link
Member

CodeFHD commented Feb 2, 2025

Ah yes, I can see why that happens, I will take care of it.

EDIT: I checked and considered it worth it to put a little more effort into this (further changes to the wheel download logic were foreseen anyways). Will continue tomorrow

@CodeFHD
Copy link
Member

CodeFHD commented Feb 3, 2025

I have changed the process for the pyluxcore installation to make it more step-by-step and account for loss of internet connection:

  1. Developer environment variable is prioritised
  2. Try to connect to PyPi and and get information about the latest wheel
  3. Search if the latest wheel is already on system
  4. If not, attempt to download
  5. If the above failed, check if there is already information in the blender_manifest and use that
  6. Ultimately, just try to import pyluxcore. It can work if there is no internet folder and the wheels folder was cleared but pyluxcore was previously installed. If that doesn't work, the error is real.

@epileptrolytics the changes are on the currently active for_blender_4.2_wheels and for_v2.10 branches, in case you build from source.

@howetuft I still need to adapt steps 2-5 as we discussed to pin a release version to a specific wheel version

@howetuft
Copy link
Contributor

howetuft commented Feb 3, 2025

I still need to adapt steps 2-5 as we discussed to pin a release version to a specific wheel version

Yes, pinned release would avoid to search for the latest version in most cases: you'd just have to check the installed wheel.
Good luck!

@epileptrolytics
Copy link
Author

epileptrolytics commented Feb 23, 2025

There is a new version v2.9a4 online, thanks everyone for providing this!
As usual I'm testing this on my MacBook Pro M3 Sonoma with Blender 4.2.5 ARM:
While the version in the preferences shows up as 2.9.4, the Pyluxcore version is still 2.9a1 post14.
Like all previous versions it is unstable and crashes a lot during the render.

crashreport.txt.zip

The food file renders faster with BiDir on CPU compared to BLC 2.61 with Blender 3.1 (Rosetta), as the previous wheel versions did.

Great new achievement: Food scene render on GPU finally reaches same speed as the BLC2.61 on Blender 3.1 reference!
GPU vievport render of the default cube is slower though (17M vs 25M).

@CodeFHD
Copy link
Member

CodeFHD commented Feb 23, 2025

Thanks for the feeback @epileptrolytics

The 2.9a4 release was done mainly to offer two fixes:

  1. The imagepipeline working again
  2. Making the LuxCore Online Library work after the webhosting change

Besides that, there was some update for our developemnt workflow, and minor fixes.

pyluxcore was not yet updated. Don't expect the names to be consistent before the next stable release.

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

No branches or pull requests

4 participants