#prog #3dcg #article
Swallowing the elephant into Blender
Some years ago Matt Pharr wrote an excellent blog post series, “Swallowing the elephant”, in which he describes various optimizations done in pbrt using Disnay’s Moana Island Scene.
Recently I was optimizing Blender’s OBJ importer, and the state of it in the end was “the bottlenecks are not OBJ specific anymore”. I was looking for some larger test scene to import, noticed that the Moana scene got a USD version done in 2022, and started to wonder how well that would import into Blender.
So yeah. It takes almost four hours until the import is finished, and then Blender crashes while trying to display it in the viewport. Not quite usable! Here’s a story of random optimizations that I did, and some learnings along the way.
Swallowing the elephant into Blender
Some years ago Matt Pharr wrote an excellent blog post series, “Swallowing the elephant”, in which he describes various optimizations done in pbrt using Disnay’s Moana Island Scene.
Recently I was optimizing Blender’s OBJ importer, and the state of it in the end was “the bottlenecks are not OBJ specific anymore”. I was looking for some larger test scene to import, noticed that the Moana scene got a USD version done in 2022, and started to wonder how well that would import into Blender.
So yeah. It takes almost four hours until the import is finished, and then Blender crashes while trying to display it in the viewport. Not quite usable! Here’s a story of random optimizations that I did, and some learnings along the way.
😐2👍1
Forwarded from Врен о Японии для туриста
This media is not supported in your browser
VIEW IN TELEGRAM
Сладкие вкусняшки плывут вам прямо в рот – в прямом смысле слова!
Так доставляют заказ к столику в кофейне Донгури в японском городе Нумадзу.
Так доставляют заказ к столику в кофейне Донгури в японском городе Нумадзу.
❤4
Forwarded from я что-то �� и всё ����
🔁 Samuel Tardieu
Thanks to my students and former students at @TelecomParis for this perfect gift: a #rustlang themed temperature sensitive cup.
Thanks to my students and former students at @TelecomParis for this perfect gift: a #rustlang themed temperature sensitive cup.
😁19👍8
Forwarded from Врен о Японии для туриста
This media is not supported in your browser
VIEW IN TELEGRAM
Пока в России на зиму отключают фонтаны, в Японии они зимой мало того что работают, но выглядят даже круче! На видео - пруд в замковом парке в городе Акита.
❤2🔥2
#prog #rust
github.com/rust-lang/rust/pull/106519
github.com/rust-lang/rust/pull/106519
fn main() {
let x = {
println!("foo");
42;
};
println!("{}", x);
}
⬇️error[E0277]: `()` doesn't implement `std::fmt::Display`
--> src/main.rs:6:20
|
4 | 42;
| - help: remove this semicolon
5 | };
6 | println!("{}", x);
| ^ `()` cannot be formatted with the default formatter
❤️GitHub
Detect bindings assigned blocks without tail expressions by estebank · Pull Request #106519 · rust-lang/rust
Fix #44173.
❤11👍5👌2
#prog #rust
github.com/rust-lang/rust/pull/106400
Ошибки несоответствия типов стали более информативными. 👏
github.com/rust-lang/rust/pull/106400
Ошибки несоответствия типов стали более информативными. 👏
fn bar(_: Vec<i32>) {}
fn main() {
let v = vec![1, 2, 3, 4, 5];
let mut foo = vec![];
for i in &v {
foo.push(i);
}
bar(foo);
}
⬇️error[E0308]: mismatched types
--> src/main.rs:8:9
|
6 | foo.push(i);
| - this is of type `&{integer}`, which causes `foo` to be inferred as `Vec<&{integer}>`
7 | }
8 | bar(foo);
| --- ^^^ expected `i32`, found `&{integer}`
| |
| arguments to this function are incorrect
GitHub
Point at expressions where inference refines an unexpected type by estebank · Pull Request #106400 · rust-lang/rust
Fix #106355. Fix #14007. (!)
error[E0308]: mismatched types
--> src/test/ui/type/type-check/point-at-inference.rs:12:9
|
9 | foo.push(i);
| - this is of type `&...
error[E0308]: mismatched types
--> src/test/ui/type/type-check/point-at-inference.rs:12:9
|
9 | foo.push(i);
| - this is of type `&...
👍11❤4
Forwarded from я что-то �� и всё ����
Who will win:
Modern computer, doing billions of operations per second on each core, SIMD accelerated
VS
One «O(n²) is not a problem» developer
Modern computer, doing billions of operations per second on each core, SIMD accelerated
VS
One «O(n²) is not a problem» developer
😁31
Вы не представляете, как я не люблю арты с милыми мальчиками.
Среди моих контактов в телеге порядка двадцати они интересны, и я каждый раз забываю переслать кому-то из них 😒
Среди моих контактов в телеге порядка двадцати они интересны, и я каждый раз забываю переслать кому-то из них 😒
❤3🥴3👍1🤨1
#prog #rust #rustlib
schnellru — A fast and flexible LRU map
* Blazingly fast. Up to twice as fast as the
* Can be also used as an ordered map, with roughly the same performance as
* Customizable. Out-of-box can be limited by length or by memory usage, but supports custom limiters which can be made to limit the map by whatever you want.
* Tested, miri-clean, clippy-clean and fuzzed.
* Supports
schnellru — A fast and flexible LRU map
* Blazingly fast. Up to twice as fast as the
lru
crate, and with less memory overhead.* Can be also used as an ordered map, with roughly the same performance as
indexmap
, but with added support for O(1) removals without changing the element order (where indexmap
only supports O(n) non-perturbing removals).* Customizable. Out-of-box can be limited by length or by memory usage, but supports custom limiters which can be made to limit the map by whatever you want.
* Tested, miri-clean, clippy-clean and fuzzed.
* Supports
no_std
.❤4👍1
Хотелось пошутить как-то про Путина, но потом вспомнил, что я в Блог*е не пишу о мелочах.
🔥20😁13💩5😐2