Hi,

i met some problems at speed of glTexImage2D. By capturing every frame from bulit-in camera of Symbian phone, i want to convert it to texture image. So firstly i change its size to 256*128 from 264*198 and then convert bgr to rgb. After that, i use glGenTextures to generate a texture object and bind this frame image. The codes are following:
Code :
// Textures are initialized in OpenGL ES API by this function.
    glGenTextures( 1, iTexturesID );	
 
 
    //Bind the background texture to iTexturesID[0], set the texture environment. 
    glBindTexture( GL_TEXTURE_2D, iTexturesID[0] );
 
    aBitmap.LockHeap();
    TUint8* aCamFrameData=(TUint8*)aBitmap.DataAddress(); //aBitmap is a converted image 
 
    glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 256, 128, 0, GL_RGBA, GL_UNSIGNED_BYTE, aCamFrameData);  
    aBitmap.UnlockHeap();
 
 
 
    glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR );
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR  );   
    glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S,GL_CLAMP_TO_EDGE );
    glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE );
 
 
    // Before drawing the background texture, we need to switch to ortho (2D) mode.  
    // Passing 1 instead of the implicit size of screen will make OpeGL use the full size of screen (1:1)
    OrthoMode(0, 1, 0, 1);	
    DrawBGPoly();
    PerspectiveMode();
 
    glDeleteTextures(1, iTexturesID);

I call this function when one frame is obtained. The real time of performance is so slow. The frame per second is only 6fps (The frame per second is about 13fps under no texture mapping). how can i raise the speed of texute mapping?
Looking forward to fast replying.

Thank you.