Bei Nvidia Karten wird die OpenGL Version 3.30 von CnC genutzt, nicht aber die aktuellste 4.60

  • Bei Nvidia Karten wird die OpenGL Version 3.30 von CnC genutzt, nicht aber die aktuellste 4.60

    Hallo zusammen, aufgrund eines Fehler bei einem anderem User ist in der Log aufgefallen das bei Nvidia Karten eine sehr alte Version für OpenGL, laut Wikipedia von 2010, benutzt wird. Im Grafiktreiber sind aber die aktuellen Treiber für OpenGL in der Version 4.60 enthalten, welche laut Wikipedia von 2017 ist. Warum wird bei Nvidia nicht die aktuelle Version genutzt? @Nachtfalke ist dieser Umstand aufgefallen da bei seiner „älteren“ AMD Karte die aktuelle Version OpenGL genutzt wird.

    Hier der Link zu dem Thread mit den Logs und weiteren Informationen.
  • Das kann ich bestätigen @newbienearcologne

    <tr><th>GL_VENDOR</th><td>NVIDIA Corporation</td></tr>
    <tr><th>GL_RENDERER</th><td>GeForce GTX 1060 6GB/PCIe/SSE2</td></tr>
    <tr><th>GL_VERSION</th><td>3.3.0 NVIDIA 440.97</td></tr>
    <tr><th>GLSL Version</th><td>3.30 NVIDIA via Cg compiler</td></tr>

    Grüße

    Sir Poldi ;)

    Display Spoiler

    Intel Core i7 860 @ 2.8GHz
    16GB RAM
    NVIDIA GeForce GTX 1060 6GB
    250 GB SSD SanDisk
    Windows 10 Pro 64Bit
  • Hallo,

    nur zur Ergänzung, ich habe lediglich den Inhalt des Logos verglichen. Ich weiss natürlich nicht, was nvidia bzw das Spiel tatsächlich nutzt. Den Release notes von Tombstone 2.9.x zu folgern wird mindestens OpenGL 3.3 Support benötigt sowie ein paar Extensions, die ich aber auch gestern schon im Log gefunden habe.


    The Graphics Manager on Windows and Linux now require OpenGL 3.3 plus the GL_ARB_clip_control, GL_ARB_direct_state_access, GL_ARB_multi_bind, GL_ARB_texture_storage, and GL_ARB_texture_storage_multisample eextensions


    Insofern erfüllen beide Systeme die Anforderungen. Ob eine neuere OpenGL Version im Treiber Vorteile bringt, wenn der Engine Code nur Algorithmen aus 3.3 nutzt, bezweifle ich, kann es aber nicht beweisen.


    Mich hat persönlich hauptsächlich gewundert, dass dort der Zusatz "Cg Compiled" steht und danach gegoogelt.
  • Fakt ist das bei AMD eine andere Version „geladen“ wird, oder was auch immer. Obwohl beide Treiber die höchste Version beinhalten, scheint es Unterschiede zu geben. Daher ist es interessant zu wissen warum dies so ist. Daher freue ich mich wenn uns die Entwickler sagen können warum es hier Unterschiede gibt. Daher ist es gut, dass wir die Logs, denke du meintest nicht Logos, von den zwei Varianten vergleichen konnten.

    Erschreckend ist eigentlich das man auf die Neuerungen anscheinend, wie gesagt die 3.30 ist von 2010, verzichten kann. Finde ich schon erstaunlich.
  • Ja, stimmt. Hatte nach dem Update des Treiber ( ist jetzt auch wieder ein Neuer raus ;) ) nicht nochmals gespielt, daher ist die Log etwas älter gewesen.


    Jetzt stimmt es @newbienearcologne

    <table class="data" cellspacing="0" cellpadding="0">
    <tr><th>GL_VENDOR</th><td>NVIDIA Corporation</td></tr>
    <tr><th>GL_RENDERER</th><td>GeForce GTX 1060 6GB/PCIe/SSE2</td></tr>
    <tr><th>GL_VERSION</th><td>3.3.0 NVIDIA 441.12</td></tr>
    <tr><th>GLSL Version</th><td>3.30 NVIDIA via Cg compiler</td></tr>

    Sorry, mein Fehler.
    Grüße

    Sir Poldi ;)

    Display Spoiler

    Intel Core i7 860 @ 2.8GHz
    16GB RAM
    NVIDIA GeForce GTX 1060 6GB
    250 GB SSD SanDisk
    Windows 10 Pro 64Bit
  • newbienearcologne wrote:

    (...), wirft aber zwei Fragen auf:
    • Benutzt man denn bei AMD Karten die Version 4.60 oder auch die 3.30?
    • Was ist gewollt, dass man die Version 3.30 benutzt oder das es bei AMD Karten anders im Log steht?

    Ich habe Mal etwas gegoogelt. Scheinbar compiliert Code beim Wechsel von Cg auf GLSL bei Nvidia nicht identisch. Die letzte Cg Version ist wohl 3.x danach GLSL.

    Bei ATI/AMD ist das wohl nicht der Fall. Insofern ist Cg 3.x wohl die letzte Version, die so kompiliert, wie man das will und bei neueren Versionen sind ggf Anpassung nötig.

    Wer es genauer wissen und sich selbst informieren will, der muss googlen. Ich habe es nicht final verstanden und auch nicht weiter recherchiert.

    Grüße
    Nachtfalke
  • (Bin grad über nen anderen Thread hierauf gestossen), kurz zur Klarstellung zu
    Erschreckend ist eigentlich das man auf die Neuerungen anscheinend, wie gesagt die 3.30 ist von 2010, verzichten kann. Finde ich schon erstaunlich.
    In OpenGL ist es möglich, Features neuerer Versionen über Extensions zu nutzen. D.h. man kann gucken ob die Extension zu einem (z.B.) OpenGL 4.5 Feature vorhanden ist und, wenn das der Fall ist, dieses Feature optional nutzen. Dadurch ist es möglich, Vorteile neuerer OpenGL Versionen zu nutzen ohne die Kompatibilität zu älteren Versionen (und somit älteren GPUs) zu verlieren - mit dem Nachteil dass man die entsprechende Funktionalität ggf doppelt implementieren muss (bzw dass sie auf älteren GPUs fehlt).
    Tatsächlich tun wir auch genau das, nur mal zwei Beispiele von solchen Features die mir gerade einfallen (wir nutzen sicher noch mehr):
    1. Tesselation (aus OpenGL 4.0) - nutzen wir falls vorhanden (und in Grafikeinstellungen aktiviert) für detailliertere Ackerböden und sowas
    2. OpenGL Direct State Access (aus OpenGL 4.5): Nutzen wir falls vorhanden, ersetzt etliche Standard OpenGL Funktionen durch (hoffentlich) schnellere Alternativen