🇨🇦 Kyle Halladay is a user on mastodon.gamedev.place. You can follow them or interact with them if you have an account anywhere in the fediverse. If you don't, you can sign up here.

🇨🇦 Kyle Halladay @khalladay@mastodon.gamedev.place

@rokups @abyrd Ah sorry, p4 is shorthand for perforce.

Can pyqt be made into some sort of portable distribution? We generally tend to avoid any sort of tools development that requires team members install things themselves unless we really have to (because inevitably most people won't, and won't ever use the tool)

@rokups @abyrd I've never used qt in any form before - if you wanted to distribute a python tool built with pyqt, how much of a pain is that to do?

ie/ write a tool using pyqt, check it into source control. Will it require that all team members have a qt installation somewhere? Can that live in p4?

@abyrd It's only a productivity impact if you consider having to worry about checking binaries into source control and/or (if your binaries aren't all in source control), having to update binaries wherever they are whenever you update the tool

Also - it's a lot easier for python to be cross platform than c#, so if you do a lot of work on multiple platforms (ie/ code on windows, build on mac for iOS), it might make life easier.

@abyrd I use c# a lot, but tbh, I feel like unless you need to write a quick GUI for your tool, python might be a better choice for command line apps, if only because you don't have to compile it.

Someday I'll learn python and confirm my hypothesis.

@menelikko That's really interesting. I've casually been following a bit of work with VR for pain reduction (like vrpain.com/ , the snow world project is really exciting!), but I haven't seen any that are looking at the impact on dementia or other age related diseases.

Please keep posting about it as the project unfolds :D

@menelikko That's awesome! How are the results of the project being evaluated? Is this attached to a larger research study?

@menelikko this is awesome, can you share any more information about the project? :)

@bartwe We've got some assembly code in house that might be of interest to my attempts at getting a memory tracking system online,

the problem is both that I don't read x64, and would eventually need to convert it to ARM64, (and then maintain it), so I'm mostly just looking to figure out how fast I can crash course into assembly and be useful with it.

@joeld42 Definitely going to to do this for more fine grained memory investigation needs.

@jon_valdes @abyrd nice to know that I'm at least in the ballpark of things sane people have done before :)

How does it handle deallocation - I'm thinking of adding some extra header data to each alloc to identify what context it was from (we use a single global binned allocator, and ideally that won't change, so no explicit memory pools for us)

@jon_valdes @abyrd Actually, I think I'm going to give this approach a shot - it isn't feasible to expect it to catch everything UE4 does, but I think it might be enough to catch most of what we care about.

Something like a scoped_context object that we can wrap game code in that sets the allocator context for everything that the engine ends up doing because of our code.

Won't break down the memory very granularly, but all we want is coarse buckets to keep an eye on things for now.

@abyrd @jon_valdes This seems sane.. but unfortunately the target engine is UE4, and I certainly don't know every entry point to every system (although I suppose you could set that variable at the beginning of every function? that feels dumb though?)

Am I missing something obvious here and assuming this would be hard to do on an engine the size of UE4 which was originally designed to have a single global allocator?

I'm looking for a way to write a memory allocator that will bucket allocations based on what system is using that memory (ie: have a bucket for UI, Animation, Gameplay, etc).

But the kicker is that I can't modify the call sites of any allocation, and the current allocator interface only asks for an alloc size and alignment.

I've had someone suggest manually walking the stack to figure out what's making the alloc call... are there any other options?

@bartwe if only I had the luxury of having ever done any assembly language programming before XD

Luckily the free "Reverse Engineering For Beginners" seems like a gentle enough introduction for me :)

So uhhh... I may suddenly have a need for x64 assembly skills...

I've never done any assembly programming - what's the fastest learning path I can take?

The guy interviewing here today apparently reads my blog.

I'm kind of a big deal.

:

wake up in the morning and write down the three things that you most want to get done that day.

Nothing you actually end up doing that day will be on that list.