Advertisement ยท 728 ร— 90

Posts by Jebbo

Preview
GitHub - PycraftDeveloper/PMMA: PMMA is targeted at helping you build applications of any size in Python and C++ by covering areas such as rendering, audio/video playback and much more! PMMA is targeted at helping you build applications of any size in Python and C++ by covering areas such as rendering, audio/video playback and much more! - PycraftDeveloper/PMMA

... You can find PMMA on our GitHub profile here: github.com/PycraftDevel...

We release programming updates regularly so stay tuned!
#buildinpublic #programming #Python #developer #gamedev #softwaredevelopment #SoftwareEngineer #coding #CPP

Thanks for reading :D

3 months ago 9 2 0 0

... Will help PMMA become a more optimized API overall, and will be very enlightening to us as PMMA isn't just about making something, it's as much about learning new skills too.

Of course, whilst also destroying benchmarks ๐Ÿ’ช

...

3 months ago 0 0 1 0

... Optimisations also.

This is because we are fast approaching a point now where not only is memory getting very expensive, we are running out of it, before we can fully stress the API.

Either way, being careful to get every last byte of memory savings...

3 months ago 0 0 1 0

... Approach which is the most likely strategy, but would require more of a design change for the render pipeline.

Regardless of what we choose, the solution will likely involve instanced rendering, although we are also reviewing other rendering...

3 months ago 0 0 1 0

... Was predicted.

The past approach assumes the scenario isn't going to change, but in applications it sometimes does, but in applications where no discerning pattern is identifiable (like a game) this strategy also breaks.

Finally we have the present...

3 months ago 0 0 1 0

... Will involve more complex mathematics and perhaps even machine learning, but this also isn't memory efficient and can be costly to performance. It also is the most likely to cause graphical issues if the rendered frame differs too much from what...

3 months ago 0 0 1 0

... The current frame from there.

Or finally we can attempt to 'predict' what the next frame will be and go from there.

Really it all boils down to having past, present and future approaches and they all have problems.

Using the future approach likely...

3 months ago 0 0 1 0

... The time. So, we could look to previous frames to establish what objects can be better optimised.

Alternatively we could analyse the data for the current frame - being careful to consider if it's likely to change - and work out ways of optimising...

3 months ago 0 0 1 0

... Optimising the existing process. Instead some changes to the way the program operates will be needed.

But the question then is how do we go about this?

It is typical for an application to render the same content on screen for the majority of...

3 months ago 0 0 1 0

...

This process is already heavily optimised to be as light on memory, and as fast as possible. Although we are looking into ways to continue making this process faster.

However, we don't believe there is anything more that can be done by just...

3 months ago 0 0 1 0
Advertisement

... Process behind the scenes varies slightly depending on what strategy PMMA is using. This is the most common.

Once we have determined the color and geometry for an individual shape, we combine it with other shapes so we can render more efficiently.

...

3 months ago 0 0 1 0

Let's take a look firstly at how PMMA renders content on screen.

We render shapes on screen by calculating the individual points needed to make up that geometry, before associating each point with a reference to a color.

We should note here the...

3 months ago 0 0 1 0

Memory prices have gotten expensive

But don't worry, I'm not here to spread more rumours about that. Instead it brings up a very important point about software development.

What can we do to make our software use less memory?

Let's discuss this in today's PMMA progress update!

3 months ago 0 0 1 0
Preview
GitHub - PycraftDeveloper/PMMA: PMMA is targeted at helping you build applications of any size in Python and C++ by covering areas such as rendering, audio/video playback and much more! PMMA is targeted at helping you build applications of any size in Python and C++ by covering areas such as rendering, audio/video playback and much more! - PycraftDeveloper/PMMA

... You can find PMMA on our GitHub profile here: github.com/PycraftDevel...

We release programming updates regularly so stay tuned!
#buildinpublic #programming #Python #developer #gamedev #softwaredevelopment #SoftwareEngineer #coding #CPP

Thanks for reading :D

4 months ago 7 3 0 0

... Will work, as we don't want this additional dimension to cause any additional confusion, and hope the system we are working on will be as user friendly as possible!

All of this is to come in 2026, with the rest of 2025 dedicated to bug fixes!

4 months ago 1 0 1 0

... Variant on this is just as fast, if not faster - so we have been throwing the book at getting this running as fast as possible, with some very exciting results!

Finally, we have also begun reviewing the way the interface for creating 3D shapes...

4 months ago 0 0 1 0

... Which will be coming to PMMA in 2026.

We have also began to extensively explore 3D shapes and how we will be going about rendering those.

For anyone unfamiliar, PMMA has a very fast 2D rendering pipeline, and we want to make sure the 3D...

4 months ago 0 0 1 0
Advertisement

...

This is because the biggest challenge with designing a system like this is not in getting the designs for each widgets right, but instead in working out how they will all interact with each other.

So, we have covered widgets and themes...

4 months ago 0 0 1 0

... Open with our widgets system, allowing for other widgets to be embedded into them (you can have drop downs with buttons, text, headings, check boxes and so much more if you wish) and we have been looking into exactly how this setup will work.

...

4 months ago 0 0 1 0

... And theme (so, if your device is in dark mode, PMMA will match this) and then by default use this to customise a variety of the new widgets we have been working on designing.

Or perhaps, not designing. See we are being very...

4 months ago 0 0 1 0

So, firstly we have been integrating theme selection right into the very core of PMMA, and using that as a basis into which we can build our widgets system.

Now, the default behaviour for PMMA is to pick a theme based on your operating system...

4 months ago 0 0 1 0

It's been a while! But we have been busy experimenting with different features that are coming very soon to PMMA.

So, in today's PMMA progress update, lets take a quick peek into what 2026 will bring.

Prepare yourself!

4 months ago 2 0 1 0
Preview
GitHub - PycraftDeveloper/PMMA: PMMA is targeted at helping you build applications of any size in Python and C++ by covering areas such as rendering, audio/video playback and much more! PMMA is targeted at helping you build applications of any size in Python and C++ by covering areas such as rendering, audio/video playback and much more! - PycraftDeveloper/PMMA

... You can find PMMA on our GitHub profile here: github.com/PycraftDevel...

We release programming updates regularly so stay tuned!
#buildinpublic #programming #Python #developer #gamedev #softwaredevelopment #SoftwareEngineer #coding #CPP

Thanks for reading :D

5 months ago 7 2 0 0

... It's massively beneficial to get one as fast as we can before working on the second instead of having to optimise both simultaneously.

With that said though, there may be a point where the two rendering processes diverge which we will talk more about soon!

5 months ago 0 0 1 0
Advertisement

...
For most features we wouldn't be quite as interested in chasing what may end up being a small performance improvement, but because the 2D rendering process will eventually have an accompanying 3D rendering process that uses the same techniques...

5 months ago 0 0 1 0

... Of PMMA there isn't a huge performance improvement.

With that said though, we also continually look at ways of making the 2D rendering process even faster, and believe we might have found another way to accelerate the process further.

...

5 months ago 0 0 1 0

... Instanced rendering being all that beneficial. Of course we are continuing to review this situation as we get better at implementing this mechanic, but for the time being we believe and have seen in tests that for the majority of applications...

5 months ago 0 0 1 0

... Then surely we could go to the same effort for determining if we should be using instanced rendering.

This is absolutely a valid point, and we don't because this adds potentially a noticeable overhead to a rendering pipeline where we don't see...

5 months ago 0 0 1 0

... Of this specific shape because this specific shape is not very customisable as indicated by it's mathematical definition.

But if we go to all the effort of making PMMA intelligent enough to know when to use the render pipeline and when not to...

5 months ago 0 0 1 0

... But is much better when it comes to rendering lots of different shapes.

This brings me on to an interesting point though. For a long time now we have been considering adding in a pixel render pipeline that massively accelerates the rendering...

5 months ago 0 0 1 0