grafikkarte auslasten (benchmark)

  • GM 8

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • grafikkarte auslasten (benchmark)

    Ich versuche grad zum Spass mal einen Benchmark zu programmieren also ein Spiel/programm welches den Pc an seine Leistungsgrenze bringt und dann anhand von Punkten sagt wie gut der Pc den nun ist.

    Ich bin gerade noch in der Planung:
    -Cpu ist kein Problem da fast alles auf die CPU geht
    ich denke das ich dafür die CBNA light engine + extreme Physics verwende
    (aus eigener erfahrung seehr Leistungsfressend)


    jetzt hab ich aber folgende Probleme zum einen wird auch mit der aufwendigsten engine nur ein cpu kern beansprucht ( GM sei dank :headtouch: )
    und zum anderen weiß ich noch nicht wie ich andere Kompenenten alla RAM oder speziell die GPU auslasten kann


    hat da jemand ne Idee?




    falls das ganze zu den experten fragen gehört bitte verschieben
    :rage:

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von meav33 ()

  • Lol..
    Immer wieder lustig zu sehen für was die Leute den GAME MAKER missbrauchen:
    Mal solls ein Musikeditor werden.. mal ein Dateimanager.. und jetzt ein Benchmark-Programm...

    Multi-Kern test kannst du allein mit einem Programm nicht machen. Was du machen könntest wäre eine zweite Exe dazu zu packen welche beim test gestartet wird und mittels einer DLL einem anderen Kern zugewiesen wird. Ob es solch eine DLL gibt weiss ich grad nicht.. Eventuell weist Windows ab Version Vista automatisch den am wenigsten belasteten kern zu.. ist allerdings eine eher usnichere Methode.

    Die Rechenkerne der GPU auslasten geht höchstwahsrcheinlich garnicht nicht. Da der GM ein interpreter-basiertes Programm ist wird wohl die CPU immer das "bottleneck" bleiben.

    Den Ram könntest du auslasten indem du möglichst viele Variablen oder Dateien läds. Allerdigs weiss ich nciht ob der GM bilder in den Grafikspeicher lädt oder in den Ram... (man hat das Gefühl er tut beides...)


    Du siehst, der GM ist nicht für sowas geeignet. Es bietet einfach nicht die hardwere-nahen Funktionen die für korektes Benchmarking ZWINGEND notwenig sind.

    Willst du auf diese Drachen und -eier klicken?
    Sie werden sich freuen ;)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von DragonGamer ()

  • wie sieht es denn mit dieser gm threads dll aus hab irgendwo davon gelesen angeblich soll sie multicore ermöglichen ich weis nur noch nicht genau wie


    florp:
    Ah Danke das ist natürlich eine möglichkeit ich denke doch das d auf de gpu gehen sollte allerdings habe ich mich leider bisher weder mit 3d noch mit gmorgre 3d beschäftigt
    :rage:
  • meav33 schrieb:

    wie sieht es denn mit dieser gm threads dll aus hab irgendwo davon gelesen angeblich soll sie multicore ermöglichen ich weis nur noch nicht genau wie
    Dies ist nur bis GM 7 kompatibel.. :/

    Desweiteren: hier eine gute Quelle für DLLs und extensions gmtoolbox.com/

    Willst du auf diese Drachen und -eier klicken?
    Sie werden sich freuen ;)
  • DragonGamer schrieb:

    meav33 schrieb:

    wie sieht es denn mit dieser gm threads dll aus hab irgendwo davon gelesen angeblich soll sie multicore ermöglichen ich weis nur noch nicht genau wie
    Dies ist nur bis GM 7 kompatibel.. :/

    Desweiteren: hier eine gute Quelle für DLLs und extensions gmtoolbox.com/

    oh sdas ist schade:
    weiß jemand ob es sowas ähnliches auch für 8.0/8.1 gibt?

    Der (freie) Grafikspeicher lässt sich durch das erstellen von Surfaces berechnen. 4 * breite * höhe pro Surface.


    das klingt interressant aber wie genau habe ich das noch nicht verstanden

    und kennt noch jemand eine dll um die RAM grösse auszulesen oder sollte ich ihn einfach mit sinnlosen variablen füllen?




    edit: ich sehe grade das gm threads doch gm8 kompatibel sein soll hat da jemand mit erfahrung : gmc.yoyogames.com/index.php?showtopic=390517
    und noch ein par teoretische fragen : nehmen wir an ich teile mein programm in 8 threads auf :
    lüuft das jetzt nur auf 8 kernern oder auch auf einem singlecore wo einfach alle 8 threads auf einem core gerechnet werden?
    :rage:
  • meav33 schrieb:

    edit: ich sehe grade das gm threads doch gm8 kompatibel sein soll hat da jemand mit erfahrung : gmc.yoyogames.com/index.php?showtopic=390517
    und noch ein par teoretische fragen : nehmen wir an ich teile mein programm in 8 threads auf :
    lüuft das jetzt nur auf 8 kernern oder auch auf einem singlecore wo einfach alle 8 threads auf einem core gerechnet werden?
    Sorry, mein Fehler.. es ist mit GM 8.0 aber nicht mit GM 8.1 kompatibel..
    D.h. wenn du noch 8.0 benutzst ist es gut.
    Die DLL bietet eine Funktion um die Anzahl der Kerne auszulesen sowie um einen Thread einem bestimmten Kern zuzuweisen!

    Das mit der Surface und v-Ram ist wohl so gedacht: So lange Surfaces erstellen bis dies auf einmal fehlschlägt (-1 oder sowas wird ausgegeben).
    Dann ist der verfügbare grafik-Speicher (in Bytes!) genau 4 * die Fläche aller erstellten surfaces. 4 mal da pro pixel 4 bytes benötigt werden (R, G, B und Alpha value).
    Erstell aber nicht zu riesige Surfaces da Grafikkarten eine Größenbegrenzung haben wie groß eine Surface sein darf.

    Das ist aber = das Rad neu erfinden.
    Schau auf der Seite die ich verlinkt habe, dort gibte s midnestens eine DLL welche den VRAM einfach auslsen kann sowie den normalen arbeitspeicher ebenfalls!

    Willst du auf diese Drachen und -eier klicken?
    Sie werden sich freuen ;)
  • Spoiler anzeigen
    edit: ich sehe grade das gm threads doch gm8 kompatibel sein soll hat da jemand mit erfahrung : gmc.yoyogames.com/index.php?showtopic=390517
    und noch ein par teoretische fragen : nehmen wir an ich teile mein programm in 8 threads auf :
    lüuft das jetzt nur auf 8 kernern oder auch auf einem singlecore wo einfach alle 8 threads auf einem core gerechnet werden?
    Sorry, mein Fehler.. es ist mit GM 8.0 aber nicht mit GM 8.1 kompatibel..
    D.h. wenn du noch 8.0 benutzst ist es gut.
    Die DLL bietet eine Funktion um die Anzahl der Kerne auszulesen sowie um einen Thread einem bestimmten Kern zuzuweisen!

    Das mit der Surface und v-Ram ist wohl so gedacht: So lange Surfaces erstellen bis dies auf einmal fehlschlägt (-1 oder sowas wird ausgegeben).
    Dann ist der verfügbare grafik-Speicher (in Bytes!) genau 4 * die Fläche aller erstellten surfaces. 4 mal da pro pixel 4 bytes benötigt werden (R, G, B und Alpha value).
    Erstell aber nicht zu riesige Surfaces da Grafikkarten eine Größenbegrenzung haben wie groß eine Surface sein darf.

    Das ist aber = das Rad neu erfinden.
    Schau auf der Seite die ich verlinkt habe, dort gibte s midnestens eine DLL welche den VRAM einfach auslsen kann sowie den normalen arbeitspeicher ebenfalls!


    danke gut ich hab jetzt eine dll gefunden die mir den Ram anzeigen kann allerdings sind die links für die cpu dlll und die video cart dll tot uund ich finde auch keine alternativen um prozessor takt und videospiecher auszulesen
    :rage: