New mojo graphics module...
Monkey Targets Forums/Android/New mojo graphics module...
| ||
Hi, I've uploaded a newly tweaked version of android mojo - grab it from the product updates page in the 'experimental stuff' section. This version should be much less sensitive to 'texture state' changes, meaning sorting rendering into 'per surface' batches isn't so important any more. The only things that force a full render 'flush' now are SetBlend and SetScissor. Note! It might be a bit buggy - I haven't tested it with much yet. I'm getting very good results here on my 2 phones (PowerVR & Adreno) - I just hope everyone else does too for a change! Yeah, right... I've also uploaded a new version of my 'bouncyaliens' speed test. The key difference with this version is that it simulates a fixed number of texture state changes per render (by simply swapping between 2 images every Nth image drawn), which I think is a much better indicator of 'real world' performance than the old version. The numbers of state changes is hardcoded at 10, but you can easily set it to 20, 30 etc. If anyone has any ideas how this test app could be further improved to be even more 'real world', I'm all ears! |
| ||
Hi Mark, thanks for this! I tried it, and I did see an improvement. I have around 100 or so sprites, and about 7-9 texture switches and am still over 20+ fps. Lots of action and still smooth. The texture switching seems smoother, no weird pauses when a new sprite is introduced. One problem, and it may be my code, was that when I exited (KeyDown(ESCAPE) then Error "") the app hung and had to force close. EDIT: Tested this against v40 and I get about 1-2 fps BETTER than v40. Nice work. |
| ||
Hi, > One problem, and it may be my code, was that when I exited (KeyDown(ESCAPE) then Error "") the app hung and had to force close. Think that's my fault...will fix. |
| ||
Hi, link for "New version of the bouncyaliens speed test" is broken. |
| ||
Yep I get this when trying to download the bouncyaliens.zip: the app hung and had to force close. Add this to Die: } else { System.exit( 0 ); } So it looks like this: @Mark: Can you add Samah's suggestion to add the stack trace: http://www.monkeycoder.co.nz/Community/posts.php?topic=1135 android.util.Log.e("[Monkey]", "Error:", t); |
| ||
Using the RenderTest here: http://www.monkeycoder.co.nz/Community/post.php?topic=1120&post=10120 and running just the colorize test:Objs| v43 | Fix | New ----+-----+-----+----- 10 | 58 | 58 | 59 100 | 44 | 50 | 54 200 | 30 | 36 | 37 300 | 24 | 26 | 28 Now testing Pirates... | FPS ----+--------- 42b | 31-35 43 | 22-28 Fix | 36-50 (but keeps around 40+ alot) New | 57-59 :D Fix is from here: http://www.monkeycoder.co.nz/Community/posts.php?topic=1168 @Anawiki - quick test your game!!!! :) |
| ||
using the original bouncy aliens demo i get a massive increase in the number of aliens on screen.when running at 30 fps i used to get 175 onscreen now i get 450 before the frame rate drops.I am getting slightly wierd effects on some things.If i set the setupdate rate to 300 then my animations seem to run at different speeds not consistent with each other and i created a scrolling screen class where i could have as many images scrolling as i wanted but now it will only allow two of them to scroll before it force stops.For example i had 3 different images of starfields each 640x480 scrolling up the screen at different speeds,but if i try to use all three now it force closes but didnt before.I will look into my code but it worked on the previous version.Still i think this is a big improvement. |
| ||
So it's better, which is good, but still slower than v42: v42b - 32-34 FPS v43 - 16-18 FPS v43new - 27 FPS |
| ||
Massive 30 FPS increase! Thanks. |
| ||
My current app:v42b: ~28 fps v43 : ~13 fps v43x: ~24 fps |
| ||
Hi! My tests results (43x - mojo version from updates page): v42b: Objs| ufps | rfps ----+--------+-------- 100 | 60-61 | 58-59 | 200 | 60 | 47-48 | 300 | 61-62 | 34 | 400 | 60-61 | 26 | 500 | 60-62 | 21 | 600 | 61-62 | 18 | 700 | 63-64 | 16 | 800 | 63-64 | 14 | 900 | 61-62 | 12 | 1000| 62-64 | 11 | v43: Objs| ufps | rfps ----+--------+-------- 100 | 61 | 43-48 | 200 | 60-61 | 42-47 | 300 | 59-61 | 40-43 | 400 | 60-61 | 36-39 | 500 | 60-61 | 34-36 | 600 | 60-61 | 32-35 | 700 | 60-61 | 30-34 | 800 | 60-62 | 30-32 | 900 | 62-63 | 20-22 | 1000| 60-62 | 18-20 | v43x: Objs| ufps | rfps ----+--------+-------- 100 | 61 | 59 | 200 | 60-61 | 59 | 300 | 60-61 | 59 | 400 | 60-61 | 59 | 500 | 60-61 | 59 | 600 | 60-61 | 59 | 700 | 60-61 | 59 | 800 | 60-61 | 57-58 | 900 | 60-61 | 53-54 | 1000| 60-61 | 47-50 | P.S. For tests new 'bouncyaliens' speed test was used. |
| ||
@marksibly I've uploaded a newly tweaked version of android mojo - grab it from the product updates page in the 'experimental stuff' section. <3 you. |