So why don't you rewrite the emulator in rust, then? Seems like it would be right up your alley, and rust is only used to create inferior rewrites of existing software anyway.
As a fellow rust enthusiast, it’s disappointing to see comments like this. It’s not healthy to assume that all projects should be rust just because.
This is a continuation of a project that started before Rust was 1.0, but even if it wasn’t, being based in C++ isn’t bad.
Decisions aren’t made in single tech vacuums. Even developer familiarity alone is enough to pick a language, and emulators aren’t going to be security critical software and it deals heavily with pointers plus shared resources , at which point a lot of rust benefits aren’t as strong.
Not my intention here. My snarky tone was due to the lack of caffeine in my bloodstream and the number of all-nighter(s) I've been pulling. I apologize if you feel I'm doing any damage to the broader community. Not my objective at all.
I'm honestly deeply interested in why projects choose C++. It's harder to teach to newcomers. I'm guessing this project shares some legacy code with Dolphin?
I'm looking forward to Rust accruing enough tools to attract emulator developers. I'd be happy to put my money where my mouth is and pay for developers via sponsorship that would be willing to undertake this.
I'm currently funding a lot of Rust projects that I like, and I honestly want to accelerate Rust adoption. I don't think there's a harm in that. Big projects like this would generate lots of tools, helper libraries, and other utilities for the broader ecosystem.
> LTO is aggressive by nature, and there’s no guarantee that all parts of the project will react nicely to it. In this case, the problem was Qt, the UI looked completely garbled.
So LTO would remove code it considers unreachable (but really whole functions)? And that did it rather than reshuffling code for cache purposes (which is what LTO does in my mind).
Cant LTO just be turned off for the QT objects in the interim?
17 comments
[ 3.4 ms ] story [ 39.0 ms ] threadI'm a current daily Rust user and former C++ user. The opinion is formed of my own experience.
Dolphin is 19 years old, Rust is 12 years old.
A used Nintendo switch is less expensive than a gaming computer.
This was done because the 3DS and the Switch are similar in some ways (for example: the Switch OS, Horizon, is a rewritten version of the 3DS OS).
This is a continuation of a project that started before Rust was 1.0, but even if it wasn’t, being based in C++ isn’t bad.
Decisions aren’t made in single tech vacuums. Even developer familiarity alone is enough to pick a language, and emulators aren’t going to be security critical software and it deals heavily with pointers plus shared resources , at which point a lot of rust benefits aren’t as strong.
I'm honestly deeply interested in why projects choose C++. It's harder to teach to newcomers. I'm guessing this project shares some legacy code with Dolphin?
I'm looking forward to Rust accruing enough tools to attract emulator developers. I'd be happy to put my money where my mouth is and pay for developers via sponsorship that would be willing to undertake this.
I'm currently funding a lot of Rust projects that I like, and I honestly want to accelerate Rust adoption. I don't think there's a harm in that. Big projects like this would generate lots of tools, helper libraries, and other utilities for the broader ecosystem.
Curious how LTO broke this…
So LTO would remove code it considers unreachable (but really whole functions)? And that did it rather than reshuffling code for cache purposes (which is what LTO does in my mind).
Cant LTO just be turned off for the QT objects in the interim?
Yuzu: Nintendo Switch Emulator - https://news.ycombinator.com/item?id=30042687 - Jan 2022 (87 comments)
Yuzu (Nintendo Switch Emulator) Progress Report January 2021 - https://news.ycombinator.com/item?id=26095834 - Feb 2021 (89 comments)
Nintendo Switch Emulator - https://news.ycombinator.com/item?id=25522454 - Dec 2020 (12 comments)
Yuzu – Nintendo Switch Emulator - https://news.ycombinator.com/item?id=16150777 - Jan 2018 (171 comments)