Zum Inhalt springen

C# SDL.NETGPU nutzen?


Shogoki

Empfohlene Beiträge

Die verwenden ja intern OpenGL (oder DirectX?), dadurch wird automatisch die GPU für Dinge wie Blitting oder Transformation verwendet. Wenn, z.B. bei einem Moorhuhn-Klon die CPU Last zu hoch ist (z.B. bei über 50% bei einem E6750) hat man in der Regel einen anderen Fehler gemacht. Begrenzt du die Framerate?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke für die Antwort erstmal.

Also soweit Ich weis arbeitet SDL mit DirectX.

Aber Ich habe schon öfter gelesen, dass SDL die GPU nicht nutzen würde, daher dachte ich das halt.

Die Framerate begrenze ich auf 60 so:

    Events.TargetFps = 60; // FPS auf 60 setzen

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also meine Game Loop ist diese hier:

 public void SDL_Tick(object sender, TickEventArgs e)

        {


            scroll.CheckScroll(10,Mouse.MousePosition);




            if (!(pause || name))

            { // Wenn Pause oder Namenseingabe Bewegung überspringen

                // Bewegung der Fische 

                Direction dir = new Direction(true);


                for (int i = 0; i <= 3; i++)

                {

                    fish[0, i].Move(3, dir); //fischen um 3 PixelproTick verschieben


                    //Fische wenn sie am linken Rand angekommen sind wieder an den rechten zeichnen

                    if (fish[0, i].Rectangle.X <= 3) 

                        CreateFish(i); 

                    if((fish[0,i].Rectangle.Y + fish[0,i].Rectangle.Height <= 6))

                        CreateFish(i);



                }

            }



            //Auf Sur_Game (Spielwelt zeichnen)

            Sur_game.Blit(background[0,bg_index]);//hintergrund zuerst zeichnen

            //Fische zeichnen

            for (int i = 0; i <= 3; i++)

            {

                //Fischanimation in dei Rectangles Blitten

                fish[0, i].Draw(Sur_game);

            }

            pflanze.Draw(Sur_game);

            Sur_game.Update(); //Surface Updaten




            //Auf screen(Benutzerbildschirm) zeichnen


            //Ausschnitt d. Spieloberfläsche zeichnen

            screen.Blit(Sur_game, Rect_screen, scroll.Rect);

            //Txt_Sprites zeichnen

            screen.Blit(txt_score, Rect_score);

            screen.Blit(txt_time, Rect_time);


            //Wenn Pause ist dann Pausetext zeigen

            if (pause || name)

                screen.Blit(txt_pause, Rect_pause);



            //munition zeichnen

            muni.Draw(screen);

            //Cursor zeichnen

            cursor[cur_index].Draw(screen, Mouse.MousePosition);


            screen.Update(); // Surface Updaten



        }

Ich hab noch nie nen Profiler benutzt.

Wie stell ich das an?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...