İletileri Göster

Bu özellik size üyenin attığı tüm iletileri gösterme olanağı sağlayacaktır . Not sadece size izin verilen bölümlerdeki iletilerini görebilirsiniz


Mesajlar - jimqode

Sayfa: 1 2 [3] 4 5 ... 15
31
@gnostic: 0.c'yi henuz elime geciremedim. 0.b preview kullaniyorum. ticks per second 1000 olarak ayarli her iki durumda da. ama menu onu gidip tekrar set ediyor mudur acaba? galiba hardware bi sayac o cunku.

32
update update!

Simdi anladim ki problem framebuffer'a erisim hiziyla alakali degil.  Problemi asagidaki  fps kitleme koduma kadar trace ettim:

Kod: [Seç]
while (frametime>gp2x_timer_read()) {
            asm volatile ("nop");
            asm volatile ("nop");
            asm volatile ("nop");
            asm volatile ("nop");
        }


Bu loop bir sonraki frame'i cizmesi gereken zaman gelene kadar bekliyor. gp2x tickleri her milisaniyede bir atiyor. menu yuklu degilken ne hikmetse bu looptan her iki cikista bir frame zamanini bayagi iskalamis oluyor (40-50 ms kadar gec cikiyor looptan). Menu yuklu iken boyle bir problem yok.

bu loop'u suna degistirip denedim:
Kod: [Seç]
while (frametime>gp2x_timer_read()) {}


sonuc ilginc bir sekilde yine ayni. Bir sonraki frame'in basilmasi gereken zamani timer'i tekrar okuyup bir degerle toplayarak elde ediyordum. Simdi direk eski frametime'in uzerine bir deger ekleyerek yapiyorum boylece en azindan bir sonraki frame'de toparliyor. Ama tabi boyle olunca da menu acikken cillop gibi hep ayni framerate'i veren kod menu kapaliyken her saniye bir artiyor bi azaliyor, ancak ortalama olarak verdigim degeri tutturabiliyor.

Su anda gorunen o ki:
ya isletim sistemi menu calismiyorken menuden daha inatci bir taska veriyor cpu'yu, boylece cpu benim process'e daha gec donuyor
ya da gp2x_timer_read fonksiyonunun calisma suresi menu kapaliyken anlasilmaz bir sekilde uzuyor.

33
Yine bir gp2x sorusuyla karsinizdayim :P Gnostic umarim bana uyuz olmamissindir bu kadar cok soru soruyorum diye. Aslinda arastirma yapmadan sormuyorum ama gp2x development hakkinda cok fazla bilgi yok nette. Noiz2sa sourcelari baslica referansim oldu artik :)

Bu seferki sorunum da soyle ki gp2xmenu arkaplanda calisirken minimal library ile direk framebuffera erisip piksel yazan kodum gozle gorulur (ve fps counterla olculur) sekilde daha hizli calisiyor. Aklima bir tek mmuhack olabilir mi acaba geldi baska da bir sey bulamadim. Ne dersin bu konuda?

Bir de Vertical blanking problemini hala cozemedim.

edit: Simdi mmuhack'le de denedim. Birsey degismedi.

34
geyik / Desert Planet - Return of the Ninja Droids
« : 26.03.2007 15:30:18 »
Sevdigim bir gruptan sevdigim bir video. Benim gibi 8bit kafalilarin hosuna gidecektir diye dusunuyorum :) Belki duymussunuzdur Desert Planet Assembly 2006'da da bir canli performans vermisti.

http://www.youtube.com/watch?v=_qGt1aO2lR4

35
demoscene / plazma #4
« : 25.03.2007 17:08:39 »
linux portu kesinlikle lazim. source olduktan sonra cok problem olacagini sanmiyorum. ben de el atabilirim. ben de okuyamiyorum dergisi. hic windows makinayla karsilasmiyorum gunluk hayatimda. bu vallahi de abarti degil. meslek geregi.

36
console / Vertical Blank
« : 24.03.2007 02:05:19 »
Yine ben!

Yazdigim herseyde ekranin her tarafi ayri oynuyor. Galiba gp2x_video_waitvsync() benim dusundugum sey degil. Buffer'i flip etmeden once bir sekilde vertical blanki beklemek gerek ama nasil?

Asagida problemi kisa ve oz anlatan bir kod veriyorum. ekranda bir anda bir renk gormeyi beklerken renkli yatay bantlar goruyorum. Nette bayagi arandim. LCD registerlerinden birini poll eden bi fonskiyon buldum ama bende kilitlendi orada alet. Belki de o kod gp32 icindi tam bilemiyorum.

Kod: [Seç]
#include <stdio.h>
#include &quot;minimal.h&quot;

int
main (int argc, char* argv[])
{
    gp2x_init(1000, 16, 11025,16,0,60,1);
    while(1)
    {
        memset(gp2x_video_RGB[0].screen16,gp2x_timer_read()<<3,320*240*2);
        gp2x_video_waitvsync();
        gp2x_video_RGB_flip(0);
    }
}

void gp2x_sound_frame(void *blah, void *buff, int samples) {}

37
Rlyeh'in siteyi update etmeye zamani yok sanirim. Sitesinde hala 0.A dokumanlari duruyor. 0.B arsivinin icinden cikan dokumanlari http://www.symbolengine.com/rlyeh/ adresinde online ettim. Her seferinde dokumana bakmak icin arsiv indirmekten bezenlere duyurulur (Ben gun icinde 3 farkli makina arasinda gidip geliyorum da)

38
console / gp2x rlyeh's minimal lib
« : 16.03.2007 23:16:52 »
@gnostic: son yolladigin ornek acayip faydali oldu. Neredeyse half-screen blitting = 750fps. Hardware blitter gercekten hizliymis. Tesekkurler bu kadar ugrastigin icin ;)

Bu arada dikkatleri bir konuya cekmek istiyorum. usleep galiba gp2x'de bozuk. usleep(1) anlamsiz uzun bir sure uyuyor. Duzgun bir karsiligini bilen var mi?

39
@ragnor: sen login olup duzelticen onu.

40
hehehe olduk vigo kizma ya. update de ettik. yorum da yapariz.
yeter ki sen kizma

41
console / gp2x rlyeh's minimal lib
« : 15.03.2007 17:01:32 »
gnostic, abi seni paso yoruyoruz ama verdigin ornek direk birinci fb'i ikinciye kopyaliyor sanirsam. fonksiyona giren src parametresi hicbir yerde kullanilmiyor. ben oraya kendi yukledigim bir resmin adresini verince program blit fonksiyonundan bir daha geri donmedi.
Sanirim ust hafizayi kullanmak gerekiyor. bu konuda hic ornek bulamadim.  Elinde kisa bir ornek varsa alabilir miyiz?

42
console / gp2x rlyeh's minimal lib
« : 14.03.2007 21:48:13 »
Bendeki sorunu cozdum. Sorun benim eşşek olmammış. -O3 ile compile ettim ve 88-90 FPS aldım. Herhalde alınabilecek olan anca budur. :) Yardımlarınız için teşekkürler.

43
console / gp2x rlyeh's minimal lib
« : 14.03.2007 17:13:53 »
heyecanla bekliyorum :)

44
console / gp2x rlyeh's minimal lib
« : 14.03.2007 16:53:33 »
abi ilk yazdigin koddaki gp2x_timer fonksiyonlari 0.C'de gelmis sanirim. bendeki library 0.B. Bende derlemiyor ne yazik ki.
ilk kodunda facia flicker vardi. Sanirim flipten sonra screen pointer degistigi icin update etmek gerekiyordu. Asagidaki hale getirdim kodu.
Screen pointeri degiskende tutmak bir sey degistirmedi hiz olarak.
foo'yu registerda tutmak kodu biraz hizlandirdi 36 fps aliyorum su anda.
Normal hizi bu mudur? 8 bit mod daha mi hizli olur?
Abi sizin demo nasil bu kadar akici oluyor cildiricam :) (respect respect)
Kod: [Seç]
#include <stdio.h>

#include &quot;minimal.h&quot;


int
main (int argc, char* argv[])
{
    gp2x_init(1000, 16, 11025,16,0,60,1);
    long ticks=0;
    int x,y,r=0,fps=0;
    unsigned short *ekran;
    while(1)
    {
        ekran = (unsigned short *)gp2x_video_RGB[0].screen16;
    for (y=190-50;y--;) {
            for (x=270-50;x--;) {
                register unsigned int foo = y+50;
                ekran[(x+50)+(foo*320)] = gp2x_video_RGB_color15(255,foo,0,0);
            }
        }
        fps++;
        if (ticks<gp2x_timer_read()) {
            printf (&quot;%d fps\n&quot;,fps);
            fps = 0;
            ticks = gp2x_timer_read()+1000;
        }
        gp2x_video_RGB_flip(0);
    }
}


void gp2x_sound_frame(void *blah, void *buff, int samples) {}


45
console / gp2x rlyeh's minimal lib
« : 14.03.2007 16:05:07 »
Çıldırıcam. Minimal library'de aşağıdaki basit kod ekranın aşağı yukarı yarısını boyuyor. ortada karmaşığı geçtim iki tane loop dışında hesap bile yok. Ama hepsi hepsi 29-30 fps alabiliyorum. Birşeyi yanlış mı yapıyorum ağalar beyler?

Kod: [Seç]
#include <stdio.h>

#include &quot;minimal.h&quot;


int
main (int argc, char* argv[])
{
    gp2x_init(1000, 16, 11025,16,0,60,1);
    long ticks=0;
    int x,y,r=0,fps=0;
    while(1)
    {
        for (y=50;y<190;y++) {
            for (x=50;x<270;x++) {
                gp2x_video_RGB[0].screen16[x+(y*320)]=gp2x_video_RGB_color15(255,y,0,0);
            }
        }
        fps++;
        if (ticks<gp2x_timer_read()) {
            printf (&quot;%d fps\n&quot;,fps);
            fps = 0;
            ticks = gp2x_timer_read()+1000;
        }
        gp2x_video_RGB_flip(0);
    }
}


void gp2x_sound_frame(void *blah, void *buff, int samples) {}

Sayfa: 1 2 [3] 4 5 ... 15