2014-04-20 4 views
-1

Je suis en train de développer un moteur graphique 3D, j'utilise une classe framebuffer qui est de ma propre création, mais le fps est trop faible, et je pense qu'il est parce que j'utilise putpixel() fonction de winbgim library,augmentons les fps

Ma fonction pour afficher framebuffer sur l'écran est:

void framebuffer::showonscreen() //from buffer to screen(space to space 1d to 2d) 
{ 

    int i; 
    for(int y=0; y < length; y++) 
    { 
     for(int x=0; x < width; x++) 
     { 
      i = x + screeny[y]; 
      putpixel(x, y, colbuf[i]); 
     } 
    } 
} 

est-il une alternative à cette fonction putpixel ou une technique pour accélérer, ou tout autre manuel (sans utiliser les bibliothèques) façon

J'ai entendu parler giv Accès direct aux blocs mémoire ou utilisation du vram

Quelqu'un pourrait-il m'aider dans ce problème?

S'il vous plaît, HELP est appréciée.

+0

Cette question semble hors-sujet car il s'agit d'un doublon: http://gamedev.stackexchange.com/questions/73690/direct-access-to-frame-buffer-pixels-data –

Répondre

0

S'il vous plaît ne pas essayer de réinventer la roue, il ya nice, open source, cross platform wheels pour vous d'utiliser. Vous ne pouvez pas vraiment espérer obtenir beaucoup de performance si vous définissez individuellement chaque pixel en utilisant le processeur, c'est beaucoup plus agréable d'utiliser le GPU, ce qui vous oblige à utiliser les jolies roues de plateforme ouverte dont je vous parlais plus tôt .