Is it possible to port the Heaven Seven demo by Exceed? :)
Yeah that in pipeline too
@khayoz Quote:
fr-041: debris is open source on github and a KICK ASS DEMO! ;)
Fighting with it for a 2 weeks: yes i do have it working, but it's quite heavy. I reach 40-120 FPS across whole demo on x1000/rx570 after those weeks of optimizations (at first it was 2 fps), but in one scene we still at 25 fps, and some others ones 40-50, while we need at least 60+ stable everywhere. And even then, that on x1000 which clocked on 2ghz, and which CPU have bigger L caches, so on x5k will be even a little bit slower. Even without taking into account a SAMs. So i need to find a ways to speed up at least to 60+ stable on x1k/x5k.
And this one was/still probably the heaver of all. Even harder than ASD's LifeForce.
@kas1e Don´t release it before it´s a kick ass kas1e release! Life Force was a big surprise! One of my all time favorites!
Edit: In what scenes does it crawl? Can we learn by talking to the originators?
This is quite an insane rare release, remember first I saw it! My friends graphic/puter was to slow but we kicked 2-10fps back then BreakPoint 2007.
Edited by khayoz on 2026/10/9 5:10:47 Edited by khayoz on 2026/10/9 5:24:10 Edited by khayoz on 2026/10/9 5:27:20 Edited by khayoz on 2026/10/9 5:28:07 Edited by khayoz on 2026/10/9 5:33:22 Edited by khayoz on 2026/10/9 5:36:00 Edited by khayoz on 2026/10/9 5:37:31
Not that it _that_ crawl, but the worse scene is that ~100-110 seconds from beginning of demo where this yellow-lighting-kind effect happens over the buildings with lots of small cubes. It was the most problematic ones, but now at least on x1000/rx570 i have there ~42 fps.
Another scenes where we also around 40-60fps, it's the ones with train-inside, and the starting ones where lots-lots of cubes. I slowly move it all to GPU more and more (include calculations), and some of them i pre-calc on beginning to avoid more CPU work in the process, which in turn increase FPS.
Of course it's already can be released, just wish to have 60+ minimum everywhere, so will fight with some more time, and if no luck, then 40+ fps also good enough of course. That Debris all in all, one of the TOP :) Beauty, big, long, heavy, etc :)
Quote:
Can we learn by talking to the originators?
That (at least now) of no big help, because i know where issues is, just need to think how it all can be done to reach 60+ fps on our hardware.
It was and math functions of newlib, and TLS emulation in our gcc/kernel, and needs for batching, needs for offload as much as possible CPU work to GPU, etc,etc. So , soon!
@All Another week, another demo! This time we back to Farbrausch again, and while it not Debris demo (soon), it's another of their best ones : The Popular demo released at Breakpoint 2003 and got the deserved 1st place.
While the sources of fr-038_theta and fr-041_debris are open, the sources of fr-025_the_popular_demo weren't, so I had to take the original Windows executable for analysis: found out that it used ordinary UPX packing, which easily unpacked, and found fr-025.kk inside, containing scene graphs, procedural recipes, animations, and embedded assets.
Then, using a disassembler, I reconstructed the loader, playback logic, and rendering bits, and rewrote them in portable C++ using OpenGL instead of the original DirectX 9. Textures and meshes are still generated at startup, so we don't have any additional data files coming with the demo, which, in turn, means it takes a some seconds to prepare the data before the demo starts.
Once I got it working on x86, I added the relevant endian changes, only to find out that the speed wasn't as good as expected. So, I moved character skinning, particle calculations, and other suitable animation work to the GPU, added batching to avoid many small draw calls in favor of fewer, larger ones, reduced repeated allocations of temporary buffers, got rid of GCC's emuTLS in favor of a faster alternative, removed unnecessary SJLJ exceptions, and minimized the binary size to just 2.6MB by removing unused C++ baggage.
In the end, on an X1000 clocked at 2GHz with a Radeon RX 570, and same on X5K with even worse RX560, we get around 200-350 FPS. Sometime 500, sometime 200. Video in action from my x1000: