AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Projekt bitte testen - Lag?

Projekt bitte testen - Lag?

Ein Thema von .chicken · begonnen am 23. Mai 2008 · letzter Beitrag vom 24. Mai 2008
 
.chicken

Registriert seit: 5. Dez 2006
459 Beiträge
 
#13

Re: Projekt bitte testen - Lag?

  Alt 23. Mai 2008, 13:17
Oh, littleDaves Betrag hatte ich übersehen, sorry.Also ich berechne die Frames in einem von mir erstellten Timer, der mittles On-Idle funktioniert, ich denke es liegt daran!?

Zu dem Problem: Hm also ich benutze XP-Home, ihr Pro, vll liegt es daran. Aber ich kann mir nicht erklären wo da ein Problem sein sollte...vielleicht bei den Einstellungen, mit denen DirectX initialisiert wird. Ich stelle das mal rein:
Delphi-Quellcode:
constructor T2DXSurface.Create(_Handle: hWnd; _Fullscreen: Boolean; _Width, _Height: Longint);
var
  D3DPP: TD3DPresent_Parameters;
  D3DDM: TD3DDisplayMode;
  DType: TD3DDevType;
  D3DCaps9: TD3DCaps9;
  HardwareVertexProcessing: Boolean;
  VertexProcessing: Integer;
begin
  //Initialisierung: IDirect3D9-Interface
  D3D := Direct3DCreate9(D3D_SDK_VERSION);
  if (D3D = nil) then
    Exit;
  //Present_Parameters
  FillChar(D3DPP, sizeof(D3DPP), 0);
  with D3DPP do
  begin
    Windowed := not _Fullscreen;
    SwapEffect := D3DSWAPEFFECT_DISCARD;
    if (_Fullscreen) then
    begin
      BackBufferWidth := _Width;
      BackBufferHeight := _Height;
      BackBufferFormat := D3DFMT_A8R8G8B8;
    end
    else
    begin
      if failed(D3D.GetAdapterDisplayMode(D3DADAPTER_DEFAULT, D3DDM)) then
        Exit;
      BackBufferFormat := D3DDM.Format;
    end;
  end;
  //Kontrollieren ob die Grafikkarte HardwareVertexProcessing unterstützt
  D3D.GetDeviceCaps(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, D3DCaps9);
  HardwareVertexProcessing := D3DCaps9.DevCaps and D3DDEVCAPS_HWTRANSFORMANDLIGHT <> 0;
  If HardwareVertexProcessing then
    VertexProcessing := D3DCREATE_HARDWARE_VERTEXPROCESSING
  else
    VertexProcessing := D3DCREATE_SOFTWARE_VERTEXPROCESSING;
  //Hardwarebeschleunigung
  DType := D3DDEVTYPE_HAL;
  //Erstellen des IDirect3DDevice9
  if failed(D3D.CreateDevice(D3DADAPTER_DEFAULT, DType, _Handle, Vertexprocessing, D3DPP, Device)) then
    Exit;
  //Erfolgreiche Initialisierung

  //Einstellungen
  FWidth := _Width;
  FHeight := _Height;
  Device.SetRenderState(D3DRS_LIGHTING, Longword(False));
  Device.SetRenderState(D3DRS_CULLMODE, D3DCULL_NONE);
  Device.SetRenderState(D3DRS_ZENABLE, Longword(FALSE));
  Device.SetRenderState(D3DRS_ALPHABLENDENABLE, 1);
  Device.SetTextureStageState(0, D3DTSS_TEXTURETRANSFORMFLAGS, D3DTTFF_COUNT2);
end;
Irgendwer ne Idee? Kenne mich mit solchen Sachen leider nicht so aus (Fehlern und so ).
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:28 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz