iPad 2D & 3D slow with GLB v8 beta

Previous topic - Next topic

MrTAToad

Anyone setting a limit to LIMITFPS ?  Or is -1 being used ?

matchy

There's no secret as is all a matter of inner game-play calculations, drawn objects and textures. For example in the case of a Minecraft clone, simply drawing blocks just doesn't work for mass amounts. Thus the idea of forming shelled objects of many blocks may be a theoretical solution to this (as discussed on the other thread).

Is there a standard piece of code we can benchmark with?

Cartoonkicker

Quote from: MrTAToad on 2010-Sep-29
Anyone setting a limit to LIMITFPS ?  Or is -1 being used ?

i've tried with and without LIMITFPS. The same result.

ampos

Any idea about this?

My game. 2 versions, 3 (480x320) and iPad (1024x768)

Iphone 4:
v3: 60 fps
vIpad: I only see 1/4 of the screen (botton right) but it seems to be at 60 fps.

iPad:
v3: 60 fps
vIpad: 12 fps.

Any idea why?
check my web and/or my blog :D
http://diniplay.blogspot.com (devblog)
http://www.ampostata.org
http://ampostata.blogspot.com
I own PC-Win, MacBook 13", iPhone 3G/3GS/4G and iPAC-WinCE

Kitty Hello

you run the iphone version on ipad with 60 fps, and the ipad version with 12 fps? Are you using a lot of screen coppies/high fill rate (createscreen e.g)

ampos

No, at the beginning of the code a LOADBMP for the background, and then filling the background with polyvector using a pattern of 32x32 pixels and around 30 80x80 sprites.

As I have not the ipad, but a friend, testing is not inmediate.

If we remove the 32x32 pattern, the polyvector is ignored, or just take the same time, as it stills draw a "empty" sprite?
check my web and/or my blog :D
http://diniplay.blogspot.com (devblog)
http://www.ampostata.org
http://ampostata.blogspot.com
I own PC-Win, MacBook 13", iPhone 3G/3GS/4G and iPAC-WinCE

ampos

Oh, in the iphone version I am using too a 32x32 pattern, so the "litle" version has to draw less images (using polyvector)
check my web and/or my blog :D
http://diniplay.blogspot.com (devblog)
http://www.ampostata.org
http://ampostata.blogspot.com
I own PC-Win, MacBook 13", iPhone 3G/3GS/4G and iPAC-WinCE

Kitty Hello

are you rendering the polyvectors in one batch (startpoly/endpoly)? If not, you have your answer. The number of glDrawArrays is very limited on iPhone/iPad.

ampos

Yes, I just did

x1&y1 are top left corners, x2,y2 are botton right

Code (glbasic) Select
v=x2-x1;v=v/32
h=y2-y1;h=h/32
STARTPOLY sp_suelo
POLYVECTOR 0,0,xsuelo,ysuelo,RGB(r[0][0],r[0][1],r[0][2])
POLYVECTOR 0,y2-y1,xsuelo,(32*h)+ysuelo,RGB(r[1][0],r[1][1],r[1][2])
POLYVECTOR x2-x1+tr,y2-y1,(32*v)+xsuelo,(32*h)+ysuelo,RGB(r[2][0],r[2][1],r[2][2])
POLYVECTOR x2-x1+tr,0,(32*v)+xsuelo,ysuelo,RGB(r[3][0],r[3][1],r[3][2])
ENDPOLY
check my web and/or my blog :D
http://diniplay.blogspot.com (devblog)
http://www.ampostata.org
http://ampostata.blogspot.com
I own PC-Win, MacBook 13", iPhone 3G/3GS/4G and iPAC-WinCE

monono

I think Kitty means something like
Code (glbasic) Select

STARTPOLY...
  FOR i = 1 TO 30
     POLYVECTOR..
     POLYVECTOR..
     POLYVECTOR..
     POLYVECTOR..
     POLYNEWSTRIP
  NEXT
ENDPOLY


One massive polyvector is sometimes faster than 30 small ones. Right?

Millerszone

Quote from: Kitty Hello on 2010-Aug-20
iPad really gets slow when you're forced to render to a screen nd rotate tha then.
I think a call to glRotate of the projection matrix is a better idea. I'll post code when I find time.

I'd like this code when you have time. :rtfm:
Hardware: iMac 27", MacBook Air, PC 3.5Ghz Quad
Developing Tools: GLBasic SDK, Gideros Studio, PureBasic
Developing for: iOS, Android, Windows, OS X, webOS, HTML5