www.jpct.net
jPCT-AE - a 3d engine for Android => Support => Topic started by: EgonOlsen on March 03, 2010, 10:33:54 pm
-
Finally, after a long time of struggling with the platform and its shortcomings, i've decided to release the current version to the public. It's still in its infancy, so bear with it.
I've created a fancy webpage for it:
http://www.jpct.net/jpct-ae (http://www.jpct.net/jpct-ae)
... ;D You should get everything from there to get you started. If not, please let me know.
About the version itself: It's a port, not just a normal jPCT version with a different renderer. It will help tremendously if you are already familiar with the normal version of jPCT if you are going to use this one. If you are not, it might be a bit harder, because all the jPCT related resources in the forum and the wiki have been created for the normal version and even if both are very similar, there are some differences here and there.
This board is meant to be used for feedback, bug reports, support questions, projects until further notice.
Have fun!
-
That's great.
Now I want to get an android to test this. I might import one for my network as I can't get one local. Though if I do get one over Windows Mobile, I hope JavaFX comes out soon for it.
-
ah, it's the big day ;D
-
About the version number: This version identifies itself as 1.19. I decided to keep the version numbering consistent between the two branches. However, 1.19 isn't really correct in this case. It more like a 1.21 minus something.
-
btw, desktop 1.21 alpha link is broken. since it still is downloadable via directory listing ;)
-
btw, desktop 1.21 alpha link is broken. since it still is downloadable via directory listing ;)
Thanks. It's fixed now.
-
i've asked my friend to run demo app on his phones:
* HTC Tattoo (android 1.6) demo runs at max 10fps, while moving around fps drops down to 7. seems as hw acceleration is not present
* G1 (android 1.6-2.0 hybrid community version): fps up to 24-25, while moving around drops down to 15
he also said, G1 is sensitive to orientation change (restarts app lifecycle) and some times app chrashes on orientation change
fyi
-
Information on the MSM7225 (the chipset of the Tattoo) is, as usual, sparse. But from what i've found, it seems that it doesn't include a GPU, which would explain the low frame rate.
G1 performance is similar to my phone, it's fine. The orientation change thing was to be expected. Changing the orientation destroys the GL context, which makes me upload all textures again. The demo application is simple...it just discards everything and starts from scratch when changing orientation. This can be changed in the demo, it's not a fault of the engine. I've experienced that crash problem myself with this demo as well as with other OpenGL apps. I blame it to the native implementation for now.
-
I've updated the jar and the demo's source. The version number is correct now (1.21) and i changed some internal stuff dealing with freeing resources.
-
i've just saw demo app running on my friend's G1 and i loved it, it looks very nice ;D
-
Thank you. It was just a test case based on some shadow mapping test case that i'm using for the desktop version.
I've updated both, the AE jar and the 1.21 one. They can (de-)serialize animations now and the AE version includes the animation optimizations. Performance in my test case increased from 4 to 18, which is a nice boost. I've extended Mesh's strip()-method to remove more data that isn't needed for animations IMHO. However, it seems a bit strange that i haven't removed those parts before, so maybe it's not such a good idea as i thought...so if something fails now that worked before, this might be the reason. In that case, please let me know.
For now, i haven't added the option to (de-)serialize Mesh or Animation as stand-alone. I might add it later, but one can only do so much... ;)
Android is strange...obviously, you can't load any single file larger than 1 MB even if it's from an InputStream. It throws an IOException in that case. So in case your serialized animations are bigger, just zip them. The loader doesn't unzip it itself, but you can simply wrap the inputstream.
-
great thanks ;D i really appreciate your efforts and support for this engine if has any meaning ;)
i've managed to run facial animation demo in emulator. it has ~3000 polygons. without animation it was running at ~11 fps, with new release it runs at ~14 fps.
however with animation, both versions drops down to ~2 fps. so i guess your optimization only applies to built-in mesh animations ?
-
No, it applies to all meshes that can be modified. However, some "if" depended solely on animation and didn't take vertex controllers into account. This is changed now, i've updated the jar. Depending on how you created the Animation-instance, make sure that Animation.setCaching(true); has been called. If all goes well, the log should read like:
Remapping xxx animation indices!
Creating animation cache (yyyy bytes)!
If that doesn't happen, something is still fishy...if it happens, and it's still slow...well...
-
i couldnt get it. that facial animation does not create an Animation instance. it just depends on vertex controller ??? do you mean, i should create a regular jpct animation via my vertex controller animation ?
-
Shoudn't matter...it should print out that messages anyway. They don't appear? Strange....i'll write myself a simple test case and see what happens then.
-
Works fine in my test case, i.e. the optimization is used when using an IVertexController. Maybe your controller is just that slow? It's easy to slow something down at a crawl on Dalvik...
-
messages appear, but only the remapping part. here is the relevant part of output:
I/jPCT-AE ( 716): OpenGL vendor: Android
I/jPCT-AE ( 716): OpenGL renderer: Android PixelFlinger 1.0
I/jPCT-AE ( 716): OpenGL version: OpenGL ES-CM 1.0
I/jPCT-AE ( 716): OpenGL renderer initialized (using 2 texture stages)
I/jPCT-AE ( 716): Remapping 720 animation indices!
I/jPCT-AE ( 716): Subobject of object 1/object3 compiled using 720 vertices in 69ms!
I/jPCT-AE ( 716): Object 1/object3 compiled to 1 subobjects in 97ms!
I/jPCT-AE ( 716): Remapping 348 animation indices!
I/jPCT-AE ( 716): Subobject of object 2/object4 compiled using 348 vertices in 34ms!
I/jPCT-AE ( 716): Object 2/object4 compiled to 1 subobjects in 48ms!
I/jPCT-AE ( 716): Remapping 822 animation indices!
I/jPCT-AE ( 716): Subobject of object 3/object5 compiled using 822 vertices in 82ms!
I/jPCT-AE ( 716): Object 3/object5 compiled to 1 subobjects in 108ms!
I/jPCT-AE ( 716): Remapping 2706 animation indices!
I/jPCT-AE ( 716): Subobject of object 4/object6 compiled using 2706 vertices in 264ms!
I/jPCT-AE ( 716): Object 4/object6 compiled to 1 subobjects in 365ms!
I/jPCT-AE ( 716): Remapping 4416 animation indices!
I/jPCT-AE ( 716): Subobject of object 5/object7 compiled using 4416 vertices in 681ms!
I/jPCT-AE ( 716): Object 5/object7 compiled to 1 subobjects in 851ms!
i would expect skeletal animation to be slow but not this one. skeletal animation makes many matrix multplications but this one basicly multiplies a vector with a scalar and adds it to mesh vertices. skelatal anim is applied to each mesh vertice but this one is applied to only relevant vertices.
here is the application (http://www.aptalkarga.com/tmp/A1.apk) if you want to see it yourself. center button enables/disables animation
edit: changed controls to enable/disable animation
-
Stupid question...how do i press 0 and 1 on a phone without a real keyboard?
-
mm, it's not the question but my app which is stupid ::) i will update it to use some other key..
-
The log output makes no sense to me...unless your objects all include Animation instances which aren't used but state that they don't want the cache. I've uploaded an AE version with that has a more detailed logging and that doesn't use the "if" at that stage, so that everything that is dynamic (which this thing obviously is, because the remapping-output is there) will use it. Please give it a try and post the results as well as that part of the log.
-
this definitely performs better while animating. ~6-7 fps. i must have messed up versions last time. the link is updated (center button enables/disables animation)
here is the log:
I/jPCT-AE ( 719): OpenGL vendor: Android
I/jPCT-AE ( 719): OpenGL renderer: Android PixelFlinger 1.0
I/jPCT-AE ( 719): OpenGL version: OpenGL ES-CM 1.0
I/jPCT-AE ( 719): OpenGL renderer initialized (using 2 texture stages)
I/jPCT-AE ( 719): Remapping 130 vertex indices!
I/jPCT-AE ( 719): Dynamic: true
I/jPCT-AE ( 719): Animation: null
I/jPCT-AE ( 719): Cache usage: No animation present
I/jPCT-AE ( 719): Creating vertex cache (3120 bytes)!
I/jPCT-AE ( 719): Subobject of object 1/object3 compiled using 720 vertices in 55ms!
I/jPCT-AE ( 719): Object 1/object3 compiled to 1 subobjects in 82ms!
I/jPCT-AE ( 719): Remapping 72 vertex indices!
I/jPCT-AE ( 719): Dynamic: true
I/jPCT-AE ( 719): Animation: null
I/jPCT-AE ( 719): Cache usage: No animation present
I/jPCT-AE ( 719): Creating vertex cache (1728 bytes)!
I/jPCT-AE ( 719): Subobject of object 2/object4 compiled using 348 vertices in 31ms!
I/jPCT-AE ( 719): Object 2/object4 compiled to 1 subobjects in 46ms!
I/jPCT-AE ( 719): Remapping 184 vertex indices!
I/jPCT-AE ( 719): Dynamic: true
I/jPCT-AE ( 719): Animation: null
I/jPCT-AE ( 719): Cache usage: No animation present
I/jPCT-AE ( 719): Creating vertex cache (4416 bytes)!
I/jPCT-AE ( 719): Subobject of object 3/object5 compiled using 822 vertices in 66ms!
I/jPCT-AE ( 719): Object 3/object5 compiled to 1 subobjects in 94ms!
I/jPCT-AE ( 719): Remapping 473 vertex indices!
I/jPCT-AE ( 719): Dynamic: true
I/jPCT-AE ( 719): Animation: null
I/jPCT-AE ( 719): Cache usage: No animation present
I/jPCT-AE ( 719): Creating vertex cache (11352 bytes)!
I/jPCT-AE ( 719): Subobject of object 4/object6 compiled using 2706 vertices in 197ms!
I/jPCT-AE ( 719): Object 4/object6 compiled to 1 subobjects in 285ms!
D/dalvikvm( 619): GC freed 3940 objects / 223760 bytes in 120ms
I/jPCT-AE ( 719): Remapping 752 vertex indices!
I/jPCT-AE ( 719): Dynamic: true
I/jPCT-AE ( 719): Animation: null
I/jPCT-AE ( 719): Cache usage: No animation present
I/jPCT-AE ( 719): Creating vertex cache (18048 bytes)!
I/jPCT-AE ( 719): Subobject of object 5/object7 compiled using 4416 vertices in 415ms!
I/jPCT-AE ( 719): Object 5/object7 compiled to 1 subobjects in 582ms!
i dont get what exactly is happening here. you said your optimization depends on leaving unchanged vertices alone. you can know this for built-in mesh animator, but for a vertex controller ? do you compare them with original values ?
-
No, it doesn't leave unchanged vertices alone, it simply changes less vertices by using indexed geometry for rendering. The geometry in jPCT is always indexed, i.e. if a vertex in a mesh is referenced by four triangles, it's only stored once and all triangles just hold an index to that one instance. However, when compiling a mesh this isn't always the case. Depending on the object (and in desktop jPCT depending on the compile()-call, which happens automagically in AE), it may either be compiled to indexed or plain mode (i.e. multiplying a vertex by the number of triangles that uses it). Plain mode is faster on Android (i don't understand why, but anyway...), so it's default. For animations, the most time is spend at the "transfer the changed vertices to the GPU"-stage, which is why plain mode sucks here. However, to use indexed mode for animations, i need some additional data structures...which are one part of the optimization. Those structures consume a little more memory, which is why i made them optional. And in the former version, this wasn't implemented correctly, which is why your test case sucked performance wise.
-
i see, it makes sense now :)
-
here is the application (http://www.aptalkarga.com/tmp/A1.apk) if you want to see it yourself. center button enables/disables animation
egon, have you run this app on your phone ? it throws an OutOfMemory in G1 ::)
and this is another application (http://www.aptalkarga.com/tmp/S1.apk) with skeletal animation, the ninja demo. it replaces the other one. it has a menu to start/stop animation. it runs ok on G1 with same performance on my emulator. ~30 fps without animation, ~10 fps with animation. i will be glad if you run them and post results..
-
Both work fine on my phone. The head @ ~8fps, the ninja @ ~29/9. The APK for the ninja seems a bit strange as it downloads as S1, but installs as A1 overwriting the head installation!? But you can't start A1 after that from the menu. It says that it isn't installed...strange.
-
they are exported from same application in Eclipse, only different activities. that's why they install over each other. removing one first before installing other may help launch problem.
yesterday i read something about memory, not sure if it applies to Nexus One or all Andoid devices: as a measure against software piracy, applications are installed on main memory not on SD card. meaning install more apps and have less memory. i guess that may be the reason my friend is getting an OutOfMemory. google announced that behaviour will vanish but god knows when
-
I've updated the AE-jar with a version that includes some micro optimizations for animations. I don't think that it'll increase performance much (if any), but maybe you can test it to see, if i haven't broken anything.
-
it seems ok. both face and ninja demos worked fine
-
I've uploaded a new jar with much higher initialization performance and 100 times faster calcTextureWrapXXX()-methods. The suckiness of these methods never hurt on the desktop, but it did on AE, so i finally fixed this.
-
Hello !
First of all, thanks for porting jPCT to AE.
I'm studying software engineer at the moment in Switzerland, and I would like to use jPCT-AE inside a school project.
But at moment I'm quite annoyed, I tried by many ways to run the demo (compiled from source) in my nexus one
but I only get a black screen. I tried with a friend spica samsung who's based on 1.5 and I did not success either.
So I decided to rewrite it a little bit to understand how things work and I got stuck in the same place... A black screen at start.
(It does work inside the emulator)
I attached my modified version of your demo.
ps: I know that your demo is just a simple example.
And what you can do with jPCT is really awesome, I take a look at all the lib and it's quite impressive.
It's a pleasure to see JavaDoc use etc.
So thank you ! :P
I'm not saying that you don't know it or something like that, I hope you don't take it bad (I don't explain myself very well in English, excuse me).
But what I would like to say is that all member of a class are set to null if they are pointers to object,
0 if they are primitive types like int,float etc. and all booleans are set to false.
If you do it by yourself, the vm will do twice the work settings all the members to your settings.
exemple private boolean abool = false;
will be set 2 times, a default to false then false again forced by the =.
I saw that you use floats and arrays in your demo.
I'm not an expert but what I read is that float operations are not well managed by this kind of devices.
-> http://developer.android.com/guide/practices/design/performance.html#avoidfloat
I saw that you are having trouble with animations (low framerate)
I don't know how you register/store all the informations but perhaps hashmaps,
arraylist or linkedlist.
Do a better work than simple arrays, for example to search something in an array if you have not the exact position
you can have a search algorithm in O(nē) which is not great hashmaps will find the information in O(n) or very close too which is really faster.
Here is some tips from android to improve performance : http://developer.android.com/guide/practices/design/performance.html
Of course I'm not saying that you don't know this things, perhaps it will help someone else :)
I was so happy when I found that jPCT was ported ! :P
But well I think I'm doing something wrong so It cannot be displayed on phone.
If someone have a little time to spare in this, thanks in advance !
Best regards.
Here is the DDMS LogCat
03-17 23:05:58.742: ERROR/AndroidRuntime(1125): ERROR: thread attach failed
03-17 23:05:58.932: INFO/jPCT-AE(1065): Loading Texture...
03-17 23:05:58.943: INFO/jPCT-AE(1065): Loading Texture...
03-17 23:05:58.962: INFO/jPCT-AE(1065): Loading Texture...
03-17 23:05:58.983: INFO/jPCT-AE(1065): Loading Texture...
03-17 23:05:58.993: INFO/jPCT-AE(1065): Loading Texture...
03-17 23:05:59.082: INFO/jPCT-AE(1065): Loading Texture...
03-17 23:05:59.162: INFO/jPCT-AE(1065): Adding Lightsource: 0
03-17 23:05:59.162: INFO/jPCT-AE(1065): OpenGL vendor: Qualcomm
03-17 23:05:59.162: INFO/jPCT-AE(1065): OpenGL renderer: Adreno
03-17 23:05:59.162: INFO/jPCT-AE(1065): OpenGL version: OpenGL ES-CM 1.1
03-17 23:05:59.162: INFO/jPCT-AE(1065): OpenGL renderer initialized (using 2 texture stages)
03-17 23:05:59.243: INFO/jPCT-AE(1065): Subobject of object 7/plane compiled using 2400 vertices in 50ms!
03-17 23:05:59.243: INFO/jPCT-AE(1065): Object 7/plane compiled to 1 subobjects in 73ms!
03-17 23:05:59.263: INFO/jPCT-AE(1065): Subobject of object 9/tree1 compiled using 690 vertices in 15ms!
03-17 23:05:59.263: INFO/jPCT-AE(1065): Object 9/tree1 compiled to 1 subobjects in 21ms!
03-17 23:05:59.282: INFO/jPCT-AE(1065): Subobject of object 10/tree2 compiled using 690 vertices in 14ms!
03-17 23:05:59.282: INFO/jPCT-AE(1065): Object 10/tree2 compiled to 1 subobjects in 21ms!
03-17 23:05:59.292: INFO/jPCT-AE(1065): Subobject of object 11/grass compiled using 264 vertices in 7ms!
03-17 23:05:59.292: INFO/jPCT-AE(1065): Object 11/grass compiled to 1 subobjects in 10ms!
03-17 23:05:59.302: INFO/jPCT-AE(1065): Subobject of object 8/rock compiled using 84 vertices in 2ms!
03-17 23:05:59.302: INFO/jPCT-AE(1065): Object 8/rock compiled to 1 subobjects in 3ms!
03-17 23:05:59.602: INFO/ActivityManager(113): Displayed activity com.demo.jpctae/.jpctae: 885 ms (total 885 ms)
03-17 23:06:10.182: INFO/jPCT-AE(1065): Visibility lists disposed!
[attachment deleted by admin]
-
I'm studying software engineer at the moment in Switzerland, and I would like to use jPCT-AE inside a school project.
But at moment I'm quite annoyed, I tried by many ways to run the demo (compiled from source) in my nexus one
but I only get a black screen. I tried with a friend spica samsung who's based on 1.5 and I did not success either.
So I decided to rewrite it a little bit to understand how things work and I got stuck in the same place... A black screen at start.
(It does work inside the emulator)
I attached my modified version of your demo.
Looks like as if it stops before being able to do anything...no idea why. Maybe this line in the log: "03-17 23:05:58.742: ERROR/AndroidRuntime(1125): ERROR: thread attach failed" is an indicator of some problem, but i have no idea what this should be (I've never seen this message on my phone, which is a Samsung i7500 running 1.5). I'm not claiming that my way of creating the Activity is the right way. It's just something that i took from some example and modified it to work with jPCT-AE. Maybe i'm doing something really stupid!? Then again, some people already tried it on an actual phone and it worked fine for them. I suggest to put some logging in all these start/stop/pause/resume/create/...-methods to see what actually happens and post the results. Maybe that will help.
But what I would like to say is that all member of a class are set to null if they are pointers to object,
0 if they are primitive types like int,float etc. and all booleans are set to false.
If you do it by yourself, the vm will do twice the work settings all the members to your settings.
exemple private boolean abool = false;
will be set 2 times, a default to false then false again forced by the =.
It's a matter of taste IMHO. Maybe it's more work for the vm (i'm not even sure about this, because it would be very stupid of the compiler to create code that does redundant settings to false, but then again, the java compiler is pretty stupid), but even on Android's slow Dalvik-VM, this won't hurt in any way. Change it to the way you like, i don't mind which way one uses. I'm using both ways myself, i have to real preference here.
I saw that you use floats and arrays in your demo.
I'm not an expert but what I read is that float operations are not well managed by this kind of devices.
-> http://developer.android.com/guide/practices/design/performance.html#avoidfloat
You can't avoid float in a 3D engine. Back in the "good old days" of 386-CPUs, people (including myself) were writing this 3D stuff in assembler and used fixed-point instead, because there was no fpu. But the engines and the graphics were a whole lot simpler in the old days. You can't do what a modern engine does in fixed-point without going mad and asking for trouble (accuracy problems, overflows,...). Apart from that, fixed-point isn't really that much faster on Android...i did some tests. Actually, the fpu-emulation code seems to be pretty good. And more recent chipsets will (i *think* the Nexus one already does...) include a fpu anyway.
I saw that you are having trouble with animations (low framerate)
I don't know how you register/store all the informations but perhaps hashmaps,
arraylist or linkedlist.
Do a better work than simple arrays, for example to search something in an array if you have not the exact position
you can have a search algorithm in O(nē) which is not great hashmaps will find the information in O(n) or very close too which is really faster.
Very bad idea for storing geometry data. An ArrayList for example is nothing more than a wrapper around an array (hence the name....), which can never be faster than the direct array access. HashMaps are used in jPCT for calculating normals and texture coordinates and stuff and it really helps there, but it's not a good place to store geometry in. And you don't have to, because you simply don't need to search this data. The best idea is to keep your data structures as close as possible to what OpenGL uses, which are plain float buffers in direct memory. And animations are as fast as it gets now. The time is spend mostly in the process that copies the data from VM memory into native buffers...and you can't avoid this step.
Here is some tips from android to improve performance : http://developer.android.com/guide/practices/design/performance.html
Did almost everything that is mentioned there. Were applicable of course.
-
And more recent chipsets will (i *think* the Nexus one already does...) include a fpu anyway.
I believe the snapdragon cpu has a fpu which the latest phones seem to use. The Milestone I believe I read that it also has an fpu cpu.
-
I believe the snapdragon cpu has a fpu which the latest phones seem to use. The Milestone I believe I read that it also has an fpu cpu.
I think so too, which is why i'm very interested in some results from one of those devices.
-
Hi !
I wasn't hopping that you answered all my questions, thank you !
I understand your choice about floating point and yes I was thinking on fixed points (I worked on Nintendo DS system, where most of the time included in 3D rendering I used fixed points)
Of course it's not comparable to Android hardware.
Nexus one does include an FPU, I would be proud to provide you more informations, just ask me and I'll try to answer all of your questions and make the corresponding tests.
As I said I'm doing a project with 2 other people in my classroom, it's a school project that we have to make in the next 12weeks, so I'm really interested in this project.
Depending on my classmates I'll share the project or parts of the project here, if you wish to.
Back to my problem, what I found strange is that on the emulator it does run slowly but fine.
I will take a look and try to put some logs like you said.
Anyway I'll keep you informed.
Best regards,
dl.zerocool
ps: about your activity, I don't think there's any mistake.
All android code I've seen, use the same way to do it.
Perhaps that I miss something, I've no idea at moment, but be sure that I'll keep you informed as soon as I find.
Right now I'm pretty busy and not working on project (we have other classes to follow, project is a small part of my school).
And about your question concerning class members, yes it's quite stupid but is how it works.
Last 6 months I followed a "POO" sounds strange in English,it's (Object Oriented Development) in Java and C++.
And this was mentioned few times, of course I think it does not make any real performance problems even on Dalvik, like you said.
-
Hi,
I just wanted to say that I tried running your jpct-ae example apk with the nexus one and the Samsung spica, but the result was the same. A single black screen, so perhaps it does come from the engine.
Tell me what you think or if you have another apk that I can test.
Best greetings.
-
More likely from the Activity. The engine's core should be fine IMHO. I'll create a version with more logging in the Activity to be able to see what is going on here.
-
Thanks for the fast reply.
I'll be working on project tomorrow morning (here, Tue 8:28am now). If you post an apk, I'll try and give you feedbacks today but I'll not have time to dev anything today.
I already tried to log and see what's happening but didn't find anything interesting, except that everything seems to load correctly, models etc. Plus apparently the engine seems to be running as all methods OnDraw OnSurfaceChanged etc.. are all called correctly.
I could get fps in log so there's something running in the background.
-
I could get fps in log so there's something running in the background.
I'm confused now. How can you get fps in the log if the demo doesn't log any? It only blits them on screen, it doesn't print them into the log!? Are we actually talking about the same thing here?
Anyway, i've update the apk of the demo with a version that includes more logging and that doesn't clear the screen to black but to some shade of blue or purple or whatever. So it should be possible to see if it actually paints something (i.e. at least applies the new color) and if the scene isn't all black by accident.
If it still doesn't work, the complete log output might be helpful.
-
Good news :) I see something ! :)
And it works pretty well (50fps)~
Here is the DDMS logcat with your new apk.
03-24 00:31:42.307: INFO/ActivityManager(128): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.threed.jpct/.example.Demo }
03-24 00:31:42.347: INFO/jPCT-AE(3979): onCreate
03-24 00:31:42.347: INFO/jPCT-AE(3979): onResume
03-24 00:31:42.407: INFO/jPCT-AE(3979): onSurfaceCreated
03-24 00:31:42.427: INFO/jPCT-AE(3979): Loading Texture...
03-24 00:31:42.437: INFO/jPCT-AE(3979): Loading Texture...
03-24 00:31:42.457: INFO/jPCT-AE(3979): Loading Texture...
03-24 00:31:42.507: INFO/jPCT-AE(3979): Loading Texture...
03-24 00:31:42.527: INFO/jPCT-AE(3979): Loading Texture...
03-24 00:31:42.557: INFO/jPCT-AE(3979): Loading Texture...
03-24 00:31:42.637: INFO/jPCT-AE(3979): Adding Lightsource: 0
03-24 00:31:42.637: INFO/jPCT-AE(3979): OpenGL vendor: Qualcomm
03-24 00:31:42.637: INFO/jPCT-AE(3979): OpenGL renderer: Adreno
03-24 00:31:42.637: INFO/jPCT-AE(3979): OpenGL version: OpenGL ES-CM 1.1
03-24 00:31:42.637: INFO/jPCT-AE(3979): OpenGL renderer initialized (using 2 texture stages)
03-24 00:31:42.637: INFO/jPCT-AE(3979): onSurfaceChanged/320/483
03-24 00:31:42.717: INFO/jPCT-AE(3979): Subobject of object 35/plane compiled using 2400 vertices in 54ms!
03-24 00:31:42.717: INFO/jPCT-AE(3979): Object 35/plane compiled to 1 subobjects in 76ms!
03-24 00:31:42.737: INFO/jPCT-AE(3979): Subobject of object 37/tree1 compiled using 690 vertices in 17ms!
03-24 00:31:42.737: INFO/jPCT-AE(3979): Object 37/tree1 compiled to 1 subobjects in 23ms!
03-24 00:31:42.757: INFO/jPCT-AE(3979): Subobject of object 38/tree2 compiled using 690 vertices in 16ms!
03-24 00:31:42.757: INFO/jPCT-AE(3979): Object 38/tree2 compiled to 1 subobjects in 23ms!
03-24 00:31:42.777: INFO/jPCT-AE(3979): Subobject of object 39/grass compiled using 264 vertices in 5ms!
03-24 00:31:42.777: INFO/jPCT-AE(3979): Object 39/grass compiled to 1 subobjects in 10ms!
03-24 00:31:42.777: INFO/jPCT-AE(3979): Subobject of object 36/rock compiled using 84 vertices in 2ms!
03-24 00:31:42.777: INFO/jPCT-AE(3979): Object 36/rock compiled to 1 subobjects in 3ms!
03-24 00:31:43.357: INFO/ActivityManager(128): Displayed activity com.threed.jpct/.example.Demo: 1025 ms (total 1025 ms)
I attached two screenshots, hope it will help you.
I could get fps using "Logger.log" with my modified version not with your apk.
and verify that everything was running fine by doing logs in every function in interesting code parts, to be sure that everything was done correctly and apparently it was.
[attachment deleted by admin]
-
another screenshot.
[attachment deleted by admin]
-
So there is some rendering going on, but colors are ignored completely. And that affects both, calculated vertex colors and colors given by a dedicated color array (for the fps blitting). Plus the blitting somehow looks garbled...strange. Can you take the example's source code (it doesn't include my latest changes though) and remove this part at the beginning:
mGLView.setEGLConfigChooser(new GLSurfaceView.EGLConfigChooser() {
public EGLConfig chooseConfig(EGL10 egl, EGLDisplay display) {
// Ensure that we get a 16bit framebuffer. Otherwise, we'll fall
// back to Pixelflinger on some device (read: Samsung I7500)
int[] attributes = new int[] { EGL10.EGL_DEPTH_SIZE, 16, EGL10.EGL_NONE };
EGLConfig[] configs = new EGLConfig[1];
int[] result = new int[1];
egl.eglChooseConfig(display, attributes, configs, 1, result);
return configs[0];
}
});
....maybe that helps. And whether it helps or not, can you please tell me what the log says about OpenGL vendor, renderer and such if removing that part?
-
I had already tried to remove this part before, and sorry, no it does not help :(.
opengl vendor is : 03-24 08:46:10.569: INFO/jPCT-AE(4838): OpenGL vendor: Qualcomm
03-24 08:46:10.569: INFO/jPCT-AE(4838): OpenGL renderer: Adreno
03-24 08:46:10.569: INFO/jPCT-AE(4838): OpenGL version: OpenGL ES-CM 1.1
03-24 08:46:10.569: INFO/jPCT-AE(4838): OpenGL renderer initialized (using 2 texture stages)
So nothing changed, but Samsung spica (i5700) has another opengl vendor and it doesn't work either.
Perhaps is something wrong with the way you clear the buffer ?
-
No, you can't do anything wrong with a glClear. Something is wrong with either vertex colors (most likely) or texture upload (unlikely, because the alpha channel on the trees' leaves looks fine). I just have no idea what this should be ATM. The code works fine on my phone, in the emulator, on the G1 and finally the desktop version of jPCT uses it too and it works fine on a variety of GPUs.
So something on your phones has to be different...i just have no idea how to figure this out without an actual phone of that kind... ???
-
Well, I know that you can't do anything wrong with glclear, except calling it in the wrong place.
But it is really strange because I tested a lot of things, included basic 3d rendering and array colors do work like they have to.
Example a simple 3D Cube with colors work really fine. What is strange is that other 3D apps don't have any problem.
-
I'm unable to help you since the source code is closed, I already read about it on the forum, so don't worry I do understand.
If you want me to help in any way, let me know.
I would be proud to help, I'll continue searching by my side.
-
Maybe a call to glEnable(GL_COLOR_MATERIAL); right after creating the FrameBuffer will help?
-
sadly it doesn't help either :
public void onSurfaceChanged(GL10 gl, int width, int height) {
Logger.log("On SurfaceChanged engine", Logger.MESSAGE);
if (fb != null) {
fb.dispose();
}
fb = new FrameBuffer(gl, width, height);
gl.glEnable(GL10.GL_COLOR_MATERIAL);
}
-
Another shot in the dark is to remove the call to world.setRGBScale(World.RGB_SCALE_2X); and to remove the creation of the Light-instance to see if any of that helps...i doubt it, but just to be sure...
-
It was a nice shot !
Removing RGB scale don't affect anything, but when removing the light it worked out !
*Screen added
*ps: It does not work without the gl material color enabled.
*Sorry first edit was wrong :P
[attachment deleted by admin]
-
So it has to do something with the lighting...strange, but at least something to build upon...thanks for testing, i'll see what i can do to fix this by doing more shots in the dark... ;)
-
Thanks to you, at least I can work with this version now.
Until you changed some things :)
I've other lessons now, so I might not be available next few hours, but continue asking for tests, I'll try to do it asap.
Best regards :)
-
Texture colors on the trees look a bit strange too. Like some little-/big-endian problem with swapped color channels. If you experience some other problems with texture colors, please let me know.
-
I don't know, but you are probably right, I was thinking this was due to the missing light.
But apparently not.
I'm blind color so between green and brown I do have some difficulties to see the differences.
But my classmate told me that you're true about colors.
*Edit:
I tested on the samsung spica and the it's really slow ! ~6fps.
Quite impressive to see the difference.
-
I'm sorry but I said something wrong.
gl.glEnable(GL10.GL_COLOR_MATERIAL); is not needed.
But if you remove world.setRGBScale(World.RGB_SCALE_2X); only it does work with lights activated :)
!!! Apparently setRGBScale has no effect on the emulator, but it does do something in my mobile.
I'm sorry that I send you in the wrong way, my tests were incomplete.
*Screen available and code too.
I don't know if you added what I added right after the framebuffer instation. But probably yes :)
Anyway if so, don't take care to it.
I tried the code without that too.
[attachment deleted by admin]
-
Cool! I'll remove the support for RGB-Scaling then. It doesn't work on my phone anyway...but it doesn't harm. However, it does seem to harm on your device, so i'll turn it off and hide the setting for now.
To summarize: It's all fine like it is, you just have to remove the call to setRGBScale, correct?
I'm currently working on support for 4bpp textures (are always 8bpp right now) and cleanup some things. I'll upload a new version when done.
I'm impressed with the performance of your phone. What was it again? The Spica doesn't have a GPU as far i know, so it should be using Android's software renderer (just like the emulator). The gl renderer in the log should be something like "pixelflinger" in that case.
BTW: Don't worry about being color blind when doing graphics coding. Years ago, i had a mail discussion with someone about how to implement gouraud shading correctly in a software renderer and that guy was blind. Which didn't prevent him from implementing it...i never understood how he did that...
-
Nice :) I'm waiting for it !
Yes apparently it's correct removing RGB scaling is enough to make it work.
03-24 22:08:50.768: INFO/jPCT-AE(8550): OpenGL vendor: Samsung Electronics
03-24 22:08:50.768: INFO/jPCT-AE(8550): OpenGL renderer: FIMG
03-24 22:08:50.768: INFO/jPCT-AE(8550): OpenGL version: 1.1 (lib version 11.02.72)
03-24 22:08:50.768: INFO/jPCT-AE(8550): OpenGL renderer initialized (using 2 texture stages)
With this phone I only get 5-8 fps.
Nice story hehe :P I don't have much troubles with colors etc, except when someone ask me what color something is :P
Most of the time I'm wrong ^^
-
OpenGL vendor is Samsung and renderer is...FIMG?...oh boy, why does every phone has to be different? Anyway, looks very much like a software renderer too me judging from the performance. My "big" Samsung Galaxy with a slower cpu than the Spica runs the demo @ around 27fps. Maybe they have written their own software renderer or just renamed pixelflinger. Any message like "generated scanline_..." in the log? That's what pixelflinger prints out when creating assembler code on the fly for optimized scanline renderers.
I've updated the jar, the docs and the demo (but not the demo's sources). Could you give the new demo a try to see if it works (it's using 4bpp textures now, which increases performance on my phone slightly)?
Thank you for your efforts, i really appreciate them. Without you doing these tests, i would never had the chance to figure this out.
-
No no message like "generated scanline..." so it's probably something else.
03-24 22:28:45.403: INFO/(8731): EGL_VENDOR : HUONE
03-24 22:28:45.403: INFO/(8731): EGL_VERSION : 1.3
03-24 22:28:45.403: INFO/(8731): EGL_EXTENSIONS :no extension
03-24 22:28:45.403: INFO/(8731): EGL_CLIENT_APIS: OpenVG OpenGL_ES
03-24 22:28:45.683: INFO/ActivityManager(1846): Displayed activity com.test.test/.test: 1090 ms
03-24 22:28:45.908: INFO/dalvikvm-heap(8731): Grow heap (frag case) to 3.632MB for 263188-byte allocation
03-24 22:28:46.033: INFO/jPCT-AE(8731): Loading Texture...
03-24 22:28:46.093: INFO/jPCT-AE(8731): Loading Texture...
03-24 22:28:46.128: INFO/jPCT-AE(8731): Loading Texture...
03-24 22:28:46.268: INFO/jPCT-AE(8731): Loading Texture...
03-24 22:28:46.378: INFO/jPCT-AE(8731): Loading Texture...
03-24 22:28:46.508: INFO/jPCT-AE(8731): Loading Texture...
03-24 22:28:46.913: INFO/jPCT-AE(8731): Adding Lightsource: 0
03-24 22:28:46.933: INFO/jPCT-AE(8731): OpenGL vendor: Samsung Electronics
03-24 22:28:46.938: INFO/jPCT-AE(8731): OpenGL renderer: FIMG
03-24 22:28:46.938: INFO/jPCT-AE(8731): OpenGL version: 1.1 (lib version 11.02.72)
03-24 22:28:46.938: INFO/jPCT-AE(8731): OpenGL renderer initialized (using 2 texture stages)
03-24 22:28:47.428: INFO/jPCT-AE(8731): Subobject of object 0/plane compiled using 2400 vertices in 345ms!
03-24 22:28:47.428: INFO/jPCT-AE(8731): Object 0/plane compiled to 1 subobjects in 485ms!
03-24 22:28:47.563: INFO/jPCT-AE(8731): Subobject of object 2/tree1 compiled using 690 vertices in 99ms!
03-24 22:28:47.563: INFO/jPCT-AE(8731): Object 2/tree1 compiled to 1 subobjects in 132ms!
03-24 22:28:47.598: INFO/ActivityManager(1846): Process com.dlcideas.ARescue (pid 8550) has died.
03-24 22:28:47.733: INFO/jPCT-AE(8731): Subobject of object 3/tree2 compiled using 690 vertices in 91ms!
03-24 22:28:47.733: INFO/jPCT-AE(8731): Object 3/tree2 compiled to 1 subobjects in 123ms!
03-24 22:28:47.783: INFO/jPCT-AE(8731): Subobject of object 4/grass compiled using 264 vertices in 37ms!
03-24 22:28:47.788: INFO/jPCT-AE(8731): Object 4/grass compiled to 1 subobjects in 52ms!
03-24 22:28:47.803: INFO/jPCT-AE(8731): Subobject of object 1/rock compiled using 84 vertices in 12ms!
03-24 22:28:47.808: INFO/jPCT-AE(8731): Object 1/rock compiled to 1 subobjects in 18ms!
03-24 22:28:47.943: INFO/dalvikvm-heap(8731): Grow heap (frag case) to 4.548MB for 262160-byte allocation
03-24 22:28:48.293: ERROR/(8731): Post fs attach shader: GL_INVALID_VALUE
I just tested the new demo with the Spica there's an improvement from 5-8fps to 8 -10fps
With the nexus one, there's no move or perhaps just not noticeable.
ahah ^^ don't worry, I do like to help, and as I said I'm really really interested in using jpct in our school project.
We don't have time to build our own 3D engine with model loaders etc. So we do have to work with a base that it's already done.
And I thank you a lot for making this option possible to us.
-
Hello,
I would like to set the background to transparent (clear with transparency) my scene is it that possible ?
So I would be able to see a normal surfaceview (with another infos) trough my glsurfaceview.
I'm sorry to ask such a basic information ^^
Thank you in advance.
-
I've updated the jar with a version that uses the alpha value of a RGBColor (if assigned) when clearing the frame buffer. No idea, if this helps somehow... ???
-
Perfect ! :) That's exactly what I needed.
Thank you so much :P It does work ! ^^
I could get transparency, with the fb and correct alpha I also changed my layout and set a background color to it.
Really nice!
Best regards.
----------------------------------------------
EDIT : color to layout is not needed.
Why do I use your alpha and color to fb.clear ?
Because behind my scene I use the camera, and I can apply filters to the camera view by applying filters on the clear.
like a color and an alpha value that I like.
So it's quite easy to set reduce brightness etc on the screen by this way, without modifying the picture or modifying the camera properties.
Thank you so much, I spend all the day doing this but well, since your clear always covered mines with black XD
I added a small screenshot with your demo scene and the camera behind :P
[attachment deleted by admin]
-
Looks cool...and reminds me to get a coffee now...
-
ahahah advertising does work finally :P
-
A little good news about fragmentation: http://www.engadget.com/2010/03/29/exclusive-android-froyo-to-take-a-serious-shot-at-stemming-plat/
Though this doesn't help us atm.
-
However, it's unlikely that for example Samsung will update the Galaxy to anything higher than 1.6 (which still isn't officially available through NPS).
-
i've barrowed my friend's G1 for 10 days or so, and i must say all jPCT apps look very cute ;D
-
see this movie ? quake3 running on an IPhone:
http://www.youtube.com/watch?v=g64n3DylJfQ&playnext_from=TL&videos=SkGDKEWY7Iw
there are similar movies on youtube. well after seeing this, i must admit, i begun to think android games can be a dead end ::) even with a JIT they can never catch native performace. prcessing will be faster but java to native data flow will be a bottleneck i'm afraid. as we saw in animation tests..
i remember, Sun was once working an a cpu which directly executes bytecode. maybe someday google takes that way to execute dalvik bytecode and only then iphone and android can race head to head. i'm kind of pessimistic ::)
-
There is a few videos of quake 3 running on android like so:
http://www.youtube.com/watch?v=q9Xaz7ECI4M
Though its probably mostly native...
-
Found this:
http://code.google.com/p/kwaak3/
99.9% native code :-\
-
Can't see the videos right now, because this phone's youtube player can't play anything but old videos. However, a 1 Ghz cpu, a fpu and a jit should give us pretty good performance. At the moment, Suckvik is the major problem IMHO. But i hope that this will improve. I like this phone, but if i compare the gui and navigation feel with even the IPhone 2, IPhone wipes the floor with Android. However, the hardware is pretty similar, so there has to be room for improvement...
-
Yes atm there's room for improvement.
But what I read this last days about the android platform is that it hasn't been compiled with the last gcc,
so it doesn't include neon floating-point optimization.
Another thing that I read is that OpenglES does allow to work in fixed points instead of floating points.
So here is a big big difference between the iPhone and the Android, even if of course the nexus as exemple has twice pixels.
(even if in the test he said that he changed the viewport... I don't think android os allows you to do that, it will just ignore and
render graphics like it was in the all surface).
I do know some features still have to be in floating points, but why meshes and animation couldn't be used as fixed points ?
On http://code.google.com/p/kwaak3/ you can see that they do have 2 version with and without neon-float (which I don't understand since you have to recompile the os to be able to use this feature, and it will only work with the latest ndk + an linux-android kernel build with neon optimization).
As far as I understood what I've read.
Using VBO's (OpenglES 1.1) so not supported by all devices, apparently will give a performance boost too.
Perhaps you're true saying that android phones aren't ready for real gaming... Even I don't want to trust it.
But at the moment if you dev on an iPhone you know what is possible and is not.
Hope this will change soon !
Well anyway, I'm pretty sure too that google need to work on this and that there's a lot of room for improvement behind the scene.
Android os have a lot to improve, it's a great os but performance have to be improved.
it should restrict phone vendors to a min GPU,CPU,RAM requirement for example...
I really would like to help, but I'm quite missing time, so just let me know if you have improve something I'll test asap.
Here is some links that I've read.
Floating points on android.
http://www.anddev.org/good_fixed_point_math_libraries-t6714.html
Apparently there's good devs around this web site, and providing help.
Perhaps opening some discussion with them can make things improve like for this guy :
http://www.anddev.org/opengl_es_performance_problems-t12194.html
Best regards.
-
AE already supports VBOs. You can enable them in Config. I've disabled them by default, because the performance gain was 0.0 on my phone and you bind the geometry to the gl context, which is bad for orientation changes.
I did some tests with fixed point and it wasn't worth it imho.
-
well after seeing this, i must admit, i begun to think android games can be a dead end ::)
I've installed a lot of games on my phones to get some ideas especially regarding the controls (99% of them sucked btw.). Most of them were 2D anyway (maybe around 95%). Those that used 3D graphics, usually didn't use much (if any) animation....like racing games. I also watched a video of a polished looking sci-fi shooter...the only thing animated there was the boss enemy. And even that looked pretty basic.
Look at the neocore demo...it looks pretty neat, but you don't find one single animation expect for sub-object translations and rotations.
To simplify this: Game objects in Android games are either balls (70%), cars (20%) or robots (10%), because they don't require complex animations. I want to code some game for Android, i just have no idea what. But i've already decided what my game objects will look like: Ball-like robots without any animation (in fact, i'm going to reuse the models from Paradroidz (R.I.P.)).
-
quake3 was using skeletal animation if i remember correctly. it runs ok
-
I'll try enabling VBO to see if there's any change on my phone (since I'm always on landscape mode, I don't care about that problem)
-
quake3 was using skeletal animation if i remember correctly. it runs ok
No, md3 is still keyframed. But it seperated the model into sub-parts (head, torso,...) and maybe there was a basic skeleton to connect those parts, but the actual animation was keyframed.
-
mm, you are right. but still there is animation and it performs quite well ;)
i've just discovered we can profile Android apps within Eclipse ;D i'm not good at reading profiling results, but seems as with animation most of the time is spent in nio buffer operations. if i got it correct, once direct nio buffers are filled, it's only passing a pointer to native code. so i suppose you are right, JIT can dramatically reduce time of passing data to native code ;D
-
....i hope so.
I didn't know that you can profile Android apps with Eclipse. Do i have to install something or does this work with the Android plugin for Eclipse out of the box?
-
just out of the box ;D make android|devices view visible and you will see profiling option. seems as only available with actual devices..
-
Finally got my Milestone :)
Installed the sample on the download page works great.
36-56 fps
Av 50fps.
-
Not bad. Have you tried raft's bones example too?
-
Finally got my Milestone :)
Which Android version is that? 2.0 or 2.1?
-
2.0. This version of the milestone does not have the 2.1 update yet.
-
Seems some good news in 2.2: http://www.androidpolice.com/2010/05/11/exclusive-androidpolice-coms-nexus-one-is-running-android-2-2-froyo-how-fast-is-it-compared-to-2-1-oh-only-about-450-faster/
-
Their server seems to run on 2.2 too...it's faster than the database:
Error establishing a database connection
:'(
-
Working fine for me atm.
-
Yep, works fine now. ;D
-
Results look promising. However, older phones like mine will never see an official update to 2.2. So you either have to drop support for them or still limit yourself to something that works reasonable well on these devices.
-
Yeah true. Though a lot of phones are getting the 2.1 update which is slowly being handed out. Droid Eris for this week. I got mine a few weeks back.
So it will also take a while for 2.2 to be handed around.
2.1 is spreading to the masses(32.4%) but the current stat's still show a lot on 1.5/1.6 however: http://developer.android.com/resources/dashboard/platform-versions.html
-
I heard that 2.2 was supposed to end the fragmentation and bring most of the phones up to speed. No idea but nexus one is safe for sure ;D
-
I heard that 2.2 was supposed to end the fragmentation and bring most of the phones up to speed. No idea but nexus one is safe for sure
That was 2.1. Flash wont support a number of the older phones specs so 2.2 may be limited(it would give them a the reason to limit it).
No idea but nexus one is safe for sure
I wouldn't be surprised if it was the first phone to get the update heh.
-
Results look promising. However, older phones like mine will never see an official update to 2.2. So you either have to drop support for them or still limit yourself to something that works reasonable well on these devices.
may not be the actual case. it's written in this post (http://www.androidpolice.com/2010/05/20/google-devs-android-2-2-froyo-upgrades-technically-possible-on-every-phone-on-the-market-even-the-g1-google-io-blitz-coverage-day-1/) that Froyo upgrades are technically possible for every phone on market ;D but of course it also depends on the carriers and the manufacturers to package up and offer the Froyo updates to their customers..
-
I been watching the live Google IO videos (http://www.youtube.com/GoogleDevelopers), looks like 2.2 is going to be great: http://www.androidpolice.com/2010/05/20/exclusive-new-android-2-2-features-exposed-update-all-auto-update-apps-speed-boost-tethering-flash-color-trackball-car-dock-improvements-with-pics/
http://developer.android.com/sdk/android-2.2-highlights.html
The Javascript test, Android vs the iPad was quite funny.
Edit:
Looks like HTC has good support: http://www.androidcentral.com/most-2010-htc-android-phones-will-get-froyo-2010
-
may not be the actual case. it's written in this post (http://www.androidpolice.com/2010/05/20/google-devs-android-2-2-froyo-upgrades-technically-possible-on-every-phone-on-the-market-even-the-g1-google-io-blitz-coverage-day-1/) that Froyo upgrades are technically possible for every phone on market ;D but of course it also depends on the carriers and the manufacturers to package up and offer the Froyo updates to their customers..
...which Samsung won't do for the Galaxy. They didn't even manage to make 1.6 official albeit there are unofficial roms made by Samsung available. Of course you can flash it on your own with some hacked version, but i actually want to use that phone and i don't want to convert it to a piece of junk by accident...
-
2.2 is out for the Nexus one...can't wait to see some numbers...anyone!?
-
I'm on 2.2.
Tell me what to test and I'll post the results.
-
i really wonder how bones will perform on 2.2. apk url (http://www.aptalkarga.com/bones/Bones-Android-Ninja.apk) is the same
-
(My nexus one is not overclocked, stock 2.2, just rooted)
Nexus one froyo 2.2 :
Bones test results :
- No animation 1 model
60
- Animation 1 model
~(depend on the selected animation)40fps -> 60 after a second(do not depend on the animation all of them go to 60 after a second).
- No animation 2 models
56-60
- Animation 2 models
~36->55 after a second
- No animation 8 models
42-44 ~
- Animation 8 models
17-25 (depends on the animation)
Rotating arround the models don't change too much the results (1-2fps)
-
wow :o compared to previous results (http://www.jpct.net/forum2/index.php/topic,1503.msg11356.html#msg11356) you posted for nexus one, animation with 8 models boosted from 5 to 17-25 fps ;D
thanks, that's promising :D
-
Yes that's a nice improvement :)
-
wow :o compared to previous results (http://www.jpct.net/forum2/index.php/topic,1503.msg11356.html#msg11356) you posted for nexus one, animation with 8 models boosted from 5 to 17-25 fps ;D
thanks, that's promising :D
But weren't those 5 fps taken from a version that used a slower version of AE?
-
he said that the bones apk is already the same I don't think he changed the Jpct-AE did he ?
-
The url is the same, not necessarily the apk's content. I made some improvements regarding animations in mid-april IIRC and i don't think that your first benchmark reflects this. Anyway, performance is pretty good now, it doesn't matter in the end... ;D
-
But weren't those 5 fps taken from a version that used a slower version of AE?
maybe, not sure ::) zero cool posted it at april first
-
wow :o compared to previous results (http://www.jpct.net/forum2/index.php/topic,1503.msg11356.html#msg11356) you posted for nexus one, animation with 8 models boosted from 5 to 17-25 fps ;D
thanks, that's promising :D
But weren't those 5 fps taken from a version that used a slower version of AE?
i've re-run bones demo on stock (2.1) Nexus One: 10 fps with 8 animated models
5 to 10: jPCT's internal improvement ;D
10 to 17-25 JIT thing
-
Nice to see these results. For the An3DBench benchmark, the JIT actually doesn't help much...but for bones, it really seems to help.