Jypeli-JYU / Jypeli

A simple educational C# game programming library built on top of Silk.NET.
24 stars 4 forks source link

CustomBatcher luokan tekemä piirto on hyvin hidasta #34

Open roeyskoe opened 1 year ago

roeyskoe commented 1 year ago

Erityisesti ongelma mobiililla, havaittavisa myös pc:llä hyvin pitkällä tekstillä.

Vaikuttaisi varaavan aika ahkerasti muistia, todennäköisesti syynä CustomBatcherin huono toteutus.

    public override void Begin()
    {
        Label teksti = new Label();
        teksti.Text = "Testi tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti\nTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti tekstiTesti teksti";
        Add(teksti, 0);

        Keyboard.ListenArrows(ButtonState.Down, (v)=>Camera.Position += v, null);
    }
juvonevi commented 1 year ago

Saman ongelman saa toteutettua myös ProgressBar luokalla

public override void Begin()
    {
        for (int i = 0; i < 10000; i++)
        {
            var Palkki = new ProgressBar(50, 50);
            Palkki.Color = Color.Black;
            Add(Palkki, 0);
        }

        Keyboard.ListenArrows(ButtonState.Down, (v) => Camera.Position += v, null);
    }

Puhelimella ei tosin tarvitse tuota 10000 palkkia vaan yksittäinenkin vaikuttaa riittävän.

roeyskoe commented 1 year ago

Päivitin tekstin piirtoa tehokkaammaksi, nyt pitäisi toimia paljon paremmin. Jypelin piirtorutiinit kaipaavat vielä jonkun verran parantelua, joten varmasti löytyy vielä tilanteita joissa erityisesti mobiililaitteiden suorituskyky on aika surkea.