Coding Task List - Before IB2 Initial Release

Discuss anything in general about the IceBlink Engine + Toolset project (or anything else) here.

Re: Coding Task List - Before IB2 Initial Release

Postby youngneil1 » Thu Jul 18, 2019 6:20 am

I might be on to something here:

In the past I reduced the number of draw calls for every black lined text from 26 to 10 (9 with next release), making the black font border smaller. This helped quite a bit.

What I noticed now is that each of these still 9 calls (per text, we talk hundreds of calls with full ui shown, per frame, like 30 to 60 times per second -> likely more than 5000 calls per second) builds and destroys the text layout and text format objects (and also calls for a new brush object).

As within the 9 calls per text only one pix is shifted (for creating the black font border), this re-building of format, layout and brush might not be neccessary. In theory, it could be reduced to 1/9, from like 5000 to about 450 rebuilding operations per second.

This will require code changes in many, many places... but as IB is now a smoothly scrolling and asset streaming engine, performance is much more crucial for a good player experience. So, dive into this I will :) ...
User avatar
youngneil1
Backer
Backer
 
Posts: 5049
Joined: Sat Dec 08, 2012 7:51 am

Re: Coding Task List - Before IB2 Initial Release

Postby youngneil1 » Thu Jul 18, 2019 6:31 am

The coloured central text will also need setting up a different scb.color, the other 8 calls for the black frame will just use black colour and x,y position adjustments.
User avatar
youngneil1
Backer
Backer
 
Posts: 5049
Joined: Sat Dec 08, 2012 7:51 am

Re: Coding Task List - Before IB2 Initial Release

Postby youngneil1 » Fri Jul 19, 2019 7:04 am

Again, good news here: I have optimized about half of the outlined (black framed) text draw operations so far (as described above) and I see a very hefty increase in FPS already. Especially with the UI shown, this is likely to give me 10+ FPS more on my notebook in the end. Happy tinkerer here :) .
User avatar
youngneil1
Backer
Backer
 
Posts: 5049
Joined: Sat Dec 08, 2012 7:51 am

Re: Coding Task List - Before IB2 Initial Release

Postby youngneil1 » Sun Jul 21, 2019 12:16 pm

IB Beta v165 released- no liabilities, no warranties, use at your own risk:

https://www.dropbox.com/s/k6qqssmehy8l0 ... 5.zip?dl=0

- heavy perfomance optimizations (text drawing, pathfinding); 10+ fps easily
- many bug fixes around moving props and scrolling, seamlessly connected areas
- finally, I added an overrideVisibilityRange setting to module properties: it defaults to 2, so all areas will have visibilty range (for clearing fog of war) of 2; 3 is a good value for campaigns with larger maps; if you want use the individual settings for areas, jut set -1 here and no override happens; I tested with Hearkenwold, where 2 feels good imho (with scrolling implemented the old range of 1 felt very short and confining)
User avatar
youngneil1
Backer
Backer
 
Posts: 5049
Joined: Sat Dec 08, 2012 7:51 am

Re: Coding Task List - Before IB2 Initial Release

Postby youngneil1 » Sun Jul 21, 2019 2:02 pm

Just a fun thing to do: When running around by holding down arrow key/wasd key, keep shift down additionally, too, and the party moves at run speed. Very nice for swiftly moving through already explored areas.
User avatar
youngneil1
Backer
Backer
 
Posts: 5049
Joined: Sat Dec 08, 2012 7:51 am

Re: Coding Task List - Before IB2 Initial Release

Postby youngneil1 » Mon Jul 22, 2019 7:41 am

I have started building the test village within the 5x5 maps seamlesly testing ground (mainly for time driven movers, ie villagers, following their daily/weekly/monthly/yearly schedules). This will also inlcude usage of the overview map system.

I expect this to take quite some time, but I will keep you updated about the highs and lows of this endeavour here... :lol:
User avatar
youngneil1
Backer
Backer
 
Posts: 5049
Joined: Sat Dec 08, 2012 7:51 am

Re: Coding Task List - Before IB2 Initial Release

Postby youngneil1 » Mon Jul 22, 2019 7:57 am

Idea for much later: overgrowth squares with boni for avoidng detection from chasers (when picking up the sea/harbour/tile type idea from above again). Edit: Such mechanism could turn sneaking past enemies into environmental puzzles of learning their routes and moving from cover to cover. Overgrowth squares migth also allow hiding form an actively chasing prop (which does not work with shadow trait alone as that one only hinders the initial detection).
User avatar
youngneil1
Backer
Backer
 
Posts: 5049
Joined: Sat Dec 08, 2012 7:51 am

Re: Coding Task List - Before IB2 Initial Release

Postby youngneil1 » Tue Jul 23, 2019 6:48 am

I finished painting the overviewmap for our 5x5 areas and got it up and running ingame, yeah :D . It scrolls nicely and seems to play along very well with all the new engine features.

Littele improvements to be done:
- hide ui automatically on overview maps
- make walk and run speeds faster on overview maps (ie allow to scroll around them faster)
User avatar
youngneil1
Backer
Backer
 
Posts: 5049
Joined: Sat Dec 08, 2012 7:51 am

Re: Coding Task List - Before IB2 Initial Release

Postby youngneil1 » Wed Jul 24, 2019 9:11 am

New concepts for asset streaming:

- proximity based exemption from removing from laoded assets list
- load into buffer while not scrolling (using larger buffer)
User avatar
youngneil1
Backer
Backer
 
Posts: 5049
Joined: Sat Dec 08, 2012 7:51 am

Re: Coding Task List - Before IB2 Initial Release

Postby youngneil1 » Fri Jul 26, 2019 6:46 am

Benn banning and deleting quite the spam wave. Suggestion: Could we change the forum settings so that all non-moderator/non-admin posts require to be cleared by a moderator/admin before becoming visible?
User avatar
youngneil1
Backer
Backer
 
Posts: 5049
Joined: Sat Dec 08, 2012 7:51 am

PreviousNext

Return to General IceBlink Project Discussions

Who is online

Users browsing this forum: No registered users and 3 guests

cron