Messing around with time lapse while working
Stopped using the background core data context, now stripping out the old code, everything is getting a clean. Memory usage and performance seems to have improved moving over to the new rendering model, but this will need a little investigation.
Cleaned up some irregularities that I’d obviously worked around at some point, including some very strange work arounds in some of my openGL drawing. I’ve since made a more unified rendering model that sorted these problems by consolidating most of the methods for texture and buffer creation.
I’ll probably have much of the old code stripped out by the end of today, then I can finish some final things and do testing, so hopefully that new release will be coming very soon.
Such a relief to finally get things working today, these problems have been pressing down on me recently.
Edit: 5000 lines of code blown away in a few hours… Well, mostly rearranged, duplicated stuff while both models were present… What I’m left with looks much nicer though.
Almost finished the changes to the rendering engine, will be removing the multi threaded core data shenanigans over the next couple of days and begin testing the new changes in earnest.
My code is much better for the changes and i’m actually looking forward to getting rid of some of the old code. Everything is much better grouped with clearer demarkation of purpose. I’m happier having more control over the existence of rendering objects and their resources.
I’ll probably hit a few problems, but confident to have a new version in the next week or two.
09/09/14 : About three quarters of the way through after a couple of weeks of hitting a few unexpected problems.
Had a strange one I took way too long on. I’m basically just restructuring my opengl code, not much rewriting, just moving it from my core data objects to a new class structure, along with some consolidation. Before moving, everything was working fine, after my changes, textures suddenly refused to render in framebuffers without a shader, but still rendered everywhere else using the exact same code as in the FBO.
I went through the code line by line, trying to figure out the difference between the new and old execution at run time, but could not work it out. All I had to do was put in a shader to fix it, which was actually required anyway for the FBO to be of any use, but it annoyed me so much it wasn’t working as before I spent a good 3-4 days trying to track down the problem.
OTH, even though it wasted quite a bit of my time, it has come with some improvements to my FBO use and general passing around of textures inside the render model leading to faster rendering and better gpu memory use.
The primary goal of the next release is stability, and I’ve made huge leaps on that front, now I coordinate all information passed between threads myself, strange random core data bugs have pretty much disappeared.
I’m working on the outputs this week, source and processor editing is done and seems to be working well.
28/08/14 : about two thirds the way through rewriting the rendering pipeline. I am now managing rendering objects through my own code, so i can control cross thread processes without any of the mystery of inner multi thread core data mechanisms.
It has been a good opportunity to clean up, update and consolidate my code. I’ve been seperating all of the opengl rendering into it’s own distinct and detached classes, leaving minimal changes to the core data model stuff. Also gave me a chance to rethink some decisions i made at the start, simplifying things in the code, with classes having better defined roles.
Update 14/08/14: I’m working on fixing the stability issues in the beta for good, unfortunately this requires a major overhaul of the rendering pipeline with relation to threading. This is due to a bug with core data and concurrency which doesn’t look like it will be fixed anytime soon. I’m making a work around.
The project is still in progress, stability is the major hurdle before full release.
Didn’t get anything done the last three weeks, got a flu, followed by a throat infection, knocked me right out, couldn’t hold a clear thought in my head. Better now but my sleep is all screwed up, hence writing this at four in the morning.
Will be getting back into things this week, plan to release a first purchasable version as the next milestone.
As i near to the first release, it’s time to have a look at my stats again.
When I’m productive: seems Tuesdays are best for me, and I’m a bit of a night owl, working mostly in the afternoons to the early hours:
Commits per month : I suffered at the start of this year, I had a bug that had me tied up for a month or two, I also signed up for unemployment benefit, and dealing with the RAV sucked up my time, energy and motivation, but I’ve got back into the swing of things the last couple of months as I got used to their bureaucracy:
Current project size is 62,900 lines of code, it’s been growing a lot recently as I added a bunch of features, auto-update, embedded store (not yet visible in beta, but it’s there), syphon support and a video player (in next release) among other things:
Luzern is having a bit of a heatwave and i’m dying, i don’t cope well with heat