Tw1ddle / geometrize

:white_square_button: Geometrize is a desktop app that geometrizes images into geometric primitives
https://www.geometrize.co.uk
Other
1.93k stars 128 forks source link

Is the C++ lib faster than the Go lib? #13

Closed atlcell closed 4 years ago

atlcell commented 4 years ago

Hey Sam, it's me again. I appreciate you implementing the batch feature, but I couldn't get it to work. I downloaded the test macOS build and the option didn't come up.

Right now, I am running the Go lib via CLI on an i7-8700K. I was just wondering if there is a faster way to run this script in Parallel?

I basically want to use the library for video. Right now, I'm extracting the frames from the video, then running the script on all the frame images, then repackaging the new frames as a new video.

let's say a 5 second video has 150 frames, the i7 manages to get ~15 frames done a minute. You can imagine the problems I would have scaling this out.

Just wondering if speed improvements can be made across threads, or actually distributed PC approach has to be used.

Thank you my guy

Tw1ddle commented 4 years ago

Hi, I haven't compared the library's performance to the Primitive lately.

The batching UI is in the latest CI builds. Perhaps you downloaded an old one:

Screenshot_20200506_191011

https://geometrize-installer-bucket.s3.amazonaws.com/osx/geometrize_867.2_osx_xcode_11_3.dmg

The script there isn't set to process thousands of images for a movie. It'll open all the images you provide it in separate windows with the same settings. You'll need a different script to process images one after another, using all the threads. Take a look at the Twitter bot script: https://github.com/Tw1ddle/geometrize-twitter-bot/blob/master/script/geometrize_shape_choice_template.chai

You would be able to quickly render parts of a movie by reducing image size, number of steps/iterations to find settings you like, and then render the final thing once only (perhaps rent a CPU on Amazon EC2 or something if your i7 is too slow).