2014-04-20 82 views
-1

我試圖建立一個3D圖形引擎,我用一個framebuffer類,這是我自己創作的,但FPS太低了,我想這是因爲我使用putpixel()功能從winbgim library增加FPS

我的功能,在屏幕上顯示的幀緩衝是:

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]); 
     } 
    } 
} 

是否有任何替代我聽到這個消息的putpixel功能或技術來加速這一過程,或任何其他手動(不使用庫)的方式

連鎖行業直接訪問內存塊,或使用vram

任何人都知道如何幫助我解決這個問題嗎?

請幫助表示讚賞。

+0

這個問題似乎是脫離主題,因爲它是一個交叉發佈重複:http://gamedev.stackexchange.com/questions/73690/direct-access-to-frame-buffer-pixels-data –

回答

0

請不要試圖重新發明輪子,還有nice, open source, cross platform wheels供您使用。如果您使用CPU單獨設置每個像素,則無法真正期望獲得太多性能,但使用GPU會更好,這基本上要求您使用先前引用您的漂亮,開源,跨平臺的輪子。