Co jest szybsze? Delphi czy Visual C++ ?

0

Mam takie programistyczne pytanie, a w zasadzie problem:

Chcialbym napisac grę 3D w Direct3D.
Na codzień używam do tworzenia programów kompilatora Delphi, ponieważ jest dla mnie wygodny i łatwy, ale znam tez doskonale Visual C++ i bardzo często spotykam się z opinią, że najkorzystniej napisać jest gry w Visual C++.

Tymczasem:

Chciałem zrobić drobny test, napisałem dwa programy:

Jeden w C++:

#include <iostream>
#include <math.h>
#include <windows.h>

main(void)
{	
 int czas_old, czas_new, I;
 float wartosc;
 wartosc = 0;
 czas_old = GetTickCount();
 I = 0;
 while (I < 20000000)
 {
  I++;
  wartosc = sin(I);
 }
 czas_new = GetTickCount();
 std::cout << czas_new - czas_old << std::endl;
 std::cin >> I;
 return 0;
}

I jego odpowiednik w Delphi:

program Project_01;

{$APPTYPE CONSOLE}

uses
 windows;

var
 czas_new, czas_old, I: integer;
 wartosc: double;

begin
 i := 0;
 wartosc := 0;
 czas_old := gettickcount;
 while I < 20000000 do
 begin
  inc(I);
  wartosc := sin(I);
 end;
 czas_new := gettickcount;
 writeln(czas_new - czas_old);
 readln(I);
end.

I czas wykonania petli "while" w C++ wynosi na moim procesorze ok. 2140 milisekund, zas ta sama petla stworzona w Delphi wykonuje sie w ok. 1750 milisekund.
Roznica nie jest w interpretacji funkcji Sinus, bo wystarczy zamiast niej zrobic jakies proste obliczenia, albo chociaz dodac do Wartosci 1 i efekt bedzie podobny - Delphi szybciej wykona wszelkie obliczenia...
Dlaczego wiec tworzy sie gry w Visual C++ gdzie obliczen jest cale mnostwo i liczy sie tam kazda "wolna" milisekunda?

Jak mam to zinterpetowac?
W jakim jezyku mam rozpoczac pisanie gry?

0

Delphi robi po prostu duze aplikacje jesli uzywasz VCLa. Najlepiej skompiluj to do assemblera i porownaj.

0

wartosc w jednym float a w drugim double, zadeklaruj takie same typy, uzyj wskaznikow w c++ i wtedy porownaj :>

0

Poza tym GetTickCount to niedobra metoda sprawdzania - Windows jest środowiskiem wielozadaniowym - program C++ mógł być wywłaszczony więcej razy niż program Delphi (oczywiście to nie ma związku z językiem, tylko przykład podałem).

1 użytkowników online, w tym zalogowanych: 0, gości: 1