Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

riCo

Treue Seele

  • »riCo« ist der Autor dieses Themas

Beiträge: 165

Beruf: Student

  • Private Nachricht senden

1

29.01.2006, 14:11

Maximale Frequenz ermitteln

Hallo.
Ich weiss zwar, wie ich alle unterstützten Auflösungen und dazugehörige Frequenzen der Grafikkarte ermittle, aber der Monitor macht bei bestimmten Auflösungen ja auch nur eine bestimmte Herz-Zahl mit. Die Grafikkarte unterstützt beispielsweise bei 800x600 240Hz, der Monitor aber nur 120Hz.
Wie kann ich dieses Problem lösen - umgehen?

Mfg Rico

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

2

29.01.2006, 14:42

Durch einen Digi Monitot mit Digi Anschluss ;)
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

riCo

Treue Seele

  • »riCo« ist der Autor dieses Themas

Beiträge: 165

Beruf: Student

  • Private Nachricht senden

3

29.01.2006, 15:05

Welch konstruktiver Beitrag :-) Mach dich ruhig lustig über meine Dummheit. :ohoh: Ich könnte ja auch einfach ne bestimmte Hz-Zahl festlegen, nur das will ich halt nicht. Ist das überhaupt möglich irgendwie abzufragen?

rewb0rn

Supermoderator

Beiträge: 2 773

Wohnort: Berlin

Beruf: Indie Game Dev

  • Private Nachricht senden

4

29.01.2006, 15:12

Du kannst halt bei nem normalen Monitor nicht abfragen welche Herzzahl er unterstützt. Wird ja bei normalen Spielen auch so gemacht, dass sie dir die Möglichkeit geben selber auszuwählen welche Herzzahl du benutzen willst.

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

5

29.01.2006, 15:13

Bei analog soweit ich weiß nicht, daher sagte ich ja Digi ;) . Ansonsten am besten immer erst mit Windows standard Einstellungen starten und dann im Programm verstellbar machen.
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Anonymous

unregistriert

6

29.01.2006, 15:32

DirectDraw:
IDirectDraw::GetMonitorFrequency ();

Direct3D:
IDirect3D9::EnumAdapterModes
IDirect3D9::GetAdapterDisplayMode

Win32API:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
BOOL GetDisplayMonitorInfo(int nDeviceIndex, LPSTR lpszMonitorInfo)
{
    FARPROC EnumDisplayDevices;
    HINSTANCE  hInstUser32;
    DISPLAY_DEVICE DispDev; 
    char szSaveDeviceName[33];  // 32 + 1 for the null-terminator

    BOOL bRet = TRUE;
    HRESULT hr;
    
    hInstUser32 = LoadLibrary("c:\\windows\User32.DLL");
    if (!hInstUser32) return FALSE;  
    
    // Get the address of the EnumDisplayDevices function

    EnumDisplayDevices = (FARPROC)GetProcAddress(hInstUser32,"EnumDisplayDevicesA");
    if (!EnumDisplayDevices) {
        FreeLibrary(hInstUser32);
        return FALSE;
    }

    ZeroMemory(&DispDev, sizeof(DispDev));
    DispDev.cb = sizeof(DispDev); 
    
    // After the first call to EnumDisplayDevices, 

    // DispDev.DeviceString is the adapter name

    if (EnumDisplayDevices(NULL, nDeviceIndex, &DispDev, 0)) 
    {  
        hr = StringCchCopy(szSaveDeviceName, 33, DispDev.DeviceName);
        if (FAILED(hr))
        {
        // TODO: write error handler

        }
        
        // After second call, DispDev.DeviceString is the 

        // monitor name for that device 

        EnumDisplayDevices(szSaveDeviceName, 0, &DispDev, 0);   
        
        // In the following, lpszMonitorInfo must be 128 + 1 for 

        // the null-terminator.

        hr = StringCchCopy(lpszMonitorInfo, 129, DispDev.DeviceString);
        if (FAILED(hr))
        {
        // TODO: write error handler

        }
        
    } else    {
        bRet = FALSE;
    }

    FreeLibrary(hInstUser32);

    return bRet;
}


bzw.
GetMonitorInfo ();

riCo

Treue Seele

  • »riCo« ist der Autor dieses Themas

Beiträge: 165

Beruf: Student

  • Private Nachricht senden

7

29.01.2006, 16:05

Ich möchte meine Grafikeinstellungen in das Spiel integrieren und versuchen, automatisch die maximal darstellbare Hz-Zahl darzustellen. Wenn ihr euch mal "Most wanted" oder "FEAR" anschaut, dort habt ihr auch nicht die Möglichkeit ne Herzanzahl anzugeben(zumindest hab ich nichts davon gesehen). Von daher dachte ich halt, es geht irgendwie abzufragen. Wenn es nicht geht, muss ich das halt doch mit zur Auswahl stellen.


Danke für die Infos.

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

8

29.01.2006, 16:07

Tja aber FEAR dürfte wohl mit der Defaulteinstellung fahren ;)
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Werbeanzeige