@molecularmusing@mastodon.gamedev.place avatar

molecularmusing

@molecularmusing@mastodon.gamedev.place

Founder of Molecular Matters • C++ & low-level programming • Created Live++: https://liveplusplus.tech

This profile is from a federated server and may be incomplete. Browse more on the original instance.

pervognsen, (edited ) to random
@pervognsen@mastodon.social avatar

How much RAM do you have in your dev workstation/laptop?

molecularmusing,
@molecularmusing@mastodon.gamedev.place avatar

@dotstdy @wolfpld @pervognsen @foonathan I might be mistaken, but I'd say the mold linker is able to do that.
At least max out 64 cores when linking something like Chrome or Firefox.

molecularmusing,
@molecularmusing@mastodon.gamedev.place avatar

@dotstdy @wolfpld @pervognsen @foonathan Yeah, scaling beyond that is definitely hard.

I limit PDB loading to 16 threads because I had a hard time scaling beyond that. Some things are just not very thread-friendly, and/or you'll run into OS locks sooner or later.

rovarma, to random
@rovarma@mastodon.gamedev.place avatar

The filesystem APIs on Linux remind me of Vulkan in a way. There's all these little low-level bits and bobs that can be used to build anything, but there's not a convenience function in sight, so everybody ends up implementing the exact same things in slightly different ways.

Sometimes a guy just wants to move a file to a different location, ya know?

molecularmusing,
@molecularmusing@mastodon.gamedev.place avatar

@rovarma Posts like this do not instill confidence for when I'm about to touch Linux.

molecularmusing, to cpp
@molecularmusing@mastodon.gamedev.place avatar

Live++ 2.5.0 OUT NOW for Windows, Xbox Series X|S, and PlayStation®5!
https://liveplusplus.tech/

This is the only solution that supports simultaneous hot-reload for C++ applications across multiple platforms and processes, both locally and over the network.
https://www.youtube.com/watch?v=ewbkdxskl7I

molecularmusing, to rust
@molecularmusing@mastodon.gamedev.place avatar

I'll leave this here for the Rustaceans:
https://youtu.be/zYCy2u_xf0A

This shows Live++ running on a Rust app using nothing but the latest stable Rust toolchain - no nightly or custom builds. Note that this doesn't require code to be structured around dynamic libraries.

molecularmusing,
@molecularmusing@mastodon.gamedev.place avatar

@pervognsen It was confusing to me at first, but given how Rust as a language works, it makes sense. Forces me to do things a bit differently, but nothing I can't handle with a bit of special casing here and there.

molecularmusing,
@molecularmusing@mastodon.gamedev.place avatar

@pervognsen Still have to see how this all works out on a larger project, but at least I'm a bit more familiar with the language and the rustc & cargo toolchain now.

molecularmusing, to gamedev
@molecularmusing@mastodon.gamedev.place avatar

Live++ 2.4.1 out now:
Optimized loading times and performance, task bar progress, a few XSX-specific improvements, and the first beta version for PS5.

molecularmusing, to random
@molecularmusing@mastodon.gamedev.place avatar

With support for PS5 nearing completion, here are a few Live++ stats:

  • 3 platforms
  • 20 VS projects for tests
  • 36 VS projects for Live++
  • 137k LOC including tests (excl. external libs)
  • External libs: Qt for GUI, Intel XED, xxHash

It has certainly grown to become the largest codebase I've ever built on my own.

superfunc, to random
@superfunc@mastodon.gamedev.place avatar

@molecularmusing heyo!

small heads up the front page for live++ has what seems to be a dead link

molecularmusing,
@molecularmusing@mastodon.gamedev.place avatar

@superfunc Seems to work fine.
It's an embedded YT video, any chance that's disabled in your browser?

molecularmusing,
@molecularmusing@mastodon.gamedev.place avatar

@superfunc Safari on OSX or iOS?

molecularmusing,
@molecularmusing@mastodon.gamedev.place avatar

@floooh @superfunc I'm not doing any restrictions.

It's just an iframe:
<iframe class="youtube-video" src="https://www.youtube.com/embed/ewbkdxskl7I?playlist=ewbkdxskl7I&loop=1" title="Live++ overview" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

molecularmusing,
@molecularmusing@mastodon.gamedev.place avatar

@superfunc @dougbinks @floooh Good to know, thanks!
Doug, how are the videos embedded on your site? Could you share the code for that?

FWIW, both the Avoyd and Live++ videos work on our MacBook, in all browsers.

molecularmusing,
@molecularmusing@mastodon.gamedev.place avatar
molecularmusing,
@molecularmusing@mastodon.gamedev.place avatar

@superfunc Could you try this again please? It uses the nocookie version of YT now.

molecularmusing,
@molecularmusing@mastodon.gamedev.place avatar

@superfunc Perfect, thanks for checking!

@dougbinks Thank you for the YT nocookie hint, didn't even know this existed!

molecularmusing, to cpp
@molecularmusing@mastodon.gamedev.place avatar

PSA:
If your platform offers a native way to declare variables in thread-local storage (e.g. __declspec(thread) or __thread), use this instead of the C++ standardized thread_local.
The native version often offers superior codegen, even for simple types like int.

molecularmusing, to random
@molecularmusing@mastodon.gamedev.place avatar
molecularmusing, to random
@molecularmusing@mastodon.gamedev.place avatar

How can you mess up something so integral to the OS so badly?

molecularmusing, to random
@molecularmusing@mastodon.gamedev.place avatar

Probably one of the most important comments in the Live++ codebase, because I would already have forgotten by now...

molecularmusing,
@molecularmusing@mastodon.gamedev.place avatar

@Doomed_Daniel Their semantics in this case suggest they are :)

molecularmusing,
@molecularmusing@mastodon.gamedev.place avatar

@Doomed_Daniel Ask me how I know :)

molecularmusing, to random
@molecularmusing@mastodon.gamedev.place avatar

Somebody submitted Live++ to the orange site and the comments did not disappoint.

It's simple: use DLLs, reload them, and tell your devs to never use anything stateful like globals, function statics, or TLS. Done.

In fact, Casey built this in a single day for Handmade Hero.

molecularmusing, to random
@molecularmusing@mastodon.gamedev.place avatar

Same time, last year... gosh, I still miss you so goddamn much my big white buddy.
Still heartbroken that you're no longer with us.

molecularmusing, to cpp
@molecularmusing@mastodon.gamedev.place avatar

As a surprise holiday gift, I am excited to announce that after several months of work, Live++ will finally be coming to PlayStation®5 in 2024!

https://youtu.be/g1-94kqUN08

Watch this space for an announcement of a Closed Beta soon.

molecularmusing,
@molecularmusing@mastodon.gamedev.place avatar

@Doomed_Daniel Let me finish this one first :D

But yes, maybe, who knows...

  • All
  • Subscribed
  • Moderated
  • Favorites
  • anitta
  • rosin
  • InstantRegret
  • ethstaker
  • DreamBathrooms
  • mdbf
  • magazineikmin
  • thenastyranch
  • Youngstown
  • GTA5RPClips
  • slotface
  • Durango
  • khanakhh
  • kavyap
  • megavids
  • everett
  • vwfavf
  • Leos
  • osvaldo12
  • cisconetworking
  • cubers
  • modclub
  • ngwrru68w68
  • tacticalgear
  • provamag3
  • normalnudes
  • tester
  • JUstTest
  • All magazines