[PYTHON] Debugging in Houdini Vol.3 Debugger / Optimization

Introduction

Debugging in Houdini Vol.1 describes how to display and check various information in Houdini, and [Debugging in Houdini Vol.2](https: / /qiita.com/dicepastoso/items/478c8a0a05d67f3a0560) has written about errors. This time I would like to touch on the debugger and optimization.

Debugger

HoudiniEngine Debugger

The Houdini Engine Debugger is a debugging server for applications that use the Houdini Engine. (From Online Help) Houdini Engine has 5 plugins, including one developed by Maxon. (Unity version, Unreal Engine version, Maya version, 3ds Max version, Cinema 4D version) (It is also possible to develop custom plug-ins using the Houdini Engine API.) It is possible to use HDA in each host application via a plug-in, but by using HoudiniEngine Debugger, you can check what kind of processing is being done in Houdini (GUI) one by one, so development It makes it easier to try and error. To use it, start it from Window> Houdini Engine Debugger, set the server according to your machine and network environment, and start. houdiniengineDebugger01.png Next, start Houdini Engine on the application side to be used, and from Session Configuration, make the same settings as the server settings set on the Houdini side earlier, and perform Start Session.

reference

Houdini Engine Debugger houdini engine maya debugging menu [Houdini Engine for Maya: How to Debug](https://houdinifx.jp/blog/houdini-engine-for-maya-%E3%83%87%E3%83%90%E3%83%83%E3% 82% B0% E3% 81% AE% E4% BB% 95% E6% 96% B9 /) [Use a debugger session to see HDA behavior in Houdini Engine for Unreal](https://support.borndigital.co.jp/hc/ja/articles/360000346481-Houdini-Engine-for-Unreal%E3 % 81% A7HDA% E3% 81% AE% E6% 8C% 99% E5% 8B% 95% E3% 82% 92% E7% A2% BA% E8% AA% 8D% E3% 81% 99% E3% 82 % 8B% E3% 81% 9F% E3% 82% 81% E3% 81% AB% E3% 83% 87% E3% 83% 90% E3% 83% 83% E3% 82% AC% E3% 83% BC % E3% 82% BB% E3% 83% 83% E3% 82% B7% E3% 83% A7% E3% 83% B3% E3% 82% 92% E4% BD% BF% E7% 94% A8% E3 % 81% 99% E3% 82% 8B) [Houdini Engine for Unreal Debugging](https://support.borndigital.co.jp/hc/ja/articles/360000348622-Houdini-Engine-for-Unreal%E3%83%87%E3%83%90%E3% 83% 83% E3% 82% B0) Check out Houdini Engine For Maya-Qiita

VEX Debugger

Print debug

As introduced in Debugging in Houdini Vol.1, [Printf](https://www.sidefx.com/ja/docs/ Houdini / vex / functions / printf.html) and work while printing to the Houdini Console.

reference

JoyOfVex14 Houdini: I don't know Wrangle-the final version Houdini Tricks — QuickTip — Debugging VEX Code

Python Debugger

Python has a debugging module pdb in its standard library. How to debug using this is introduced in DEBUGGING PYTHON IN VFX APPLICATIONS. I will only introduce the Python debugger here.

HDK Debugger Houdini allows you to create plugins in C ++. How to develop with VS Code and set the debugger is introduced in LAPLACIAN EIGENVECTOR PLUGIN FOR HOUDINI. I will only introduce the HDK debugger here.

reference

HDK About HDK

optimisation

As you work, the nodes may become difficult to see, or the processing may become slow and uncomfortable. In such a case, we optimize it to speed up the process, or organize it to make the process flow easier to see.

Performance Monitor

performancemonitor.png The Performance Monitor can help you figure out what's heavy when cooking and what you need to improve.

Cooking control

--You can cancel the cook with ʻESC`. --You can control whether simulation is enabled or disabled with the simulation menu (brain icon) at the bottom right. --You can select when to re-cook by changing the Update Menu parameter. --By locking the node, you can cache the upstream and speed up.

Refactoring

As mentioned in the section on organizing Debugging in Houdini Vol.2 It is important in the work. While working, I think that I will make branches and try various things, but I think that it is necessary to organize at a calm timing.

reference

Refactoring Houdini Node Network – For building a highly maintainable node network

cache

When the geometry is animated, the higher the resolution, the longer it will take to cook. By exporting to bgeo once, you can make a lightweight scene without processing the upstream.

reference

Geometry Caching (https://www.sidefx.com/en/docs/houdini/io/geo.html#%E3%82%B7-%E3%82%AA%E3%83%A1%E3 % 83% 88% E3% 83% AA% E3% 81% AE% E3% 82% AD% E3% 83% A3% E3% 83% 83% E3% 82% B7% E3% 83% A5% E5% 8C % 96)

in conclusion

This time I wrote about debuggers and optimizations. I don't know much about Python and HDK yet, so I've only introduced them, so I'm sorry about that, but I'd like to add it if I have the opportunity. I am thinking about analysis as a plan for the next time and later. It also serves as a memo for myself, so there are some sloppy parts, but I hope it will be helpful.

Recommended Posts

Debugging in Houdini Vol.3 Debugger / Optimization
Python in optimization
Performance optimization in Django 3.xx
Debugging with pdb in Python
Blender Python API in Houdini (Python 3)
Solve optimization problems in Python