Page 2 of 2 FirstFirst 1 2
Results 16 to 25 of 25

Thread: van 32 bit naar 64 bit

  1. #16
    Quote Originally Posted by havezet View Post
    De grootste uitdaging zit niet in het gecompileerd krijgen van de code, maar in de casting van pointers. Hoe vaak komt het voor dat in de code staat "MyObject.Tag := Integer(MyPointer);" of iets vergelijkbaars. Dat wordt een puzzel omdat die niet makkelijk te vinden zijn in een code base met miljoenen regels. En het compileert prima op zowel 32 bit als op 64 bit.
    Volgens mij was mijn ervaring dat je daar een waarschuwing voor krijgt (hint). Voor mij was het dan ook gewoon zorgen dat je programma nergens meer hints geeft. Dat waren er in mijn programma wel heel veel maar redelijk goed te doen. Inderdaad was de overgang naar Unicode voor mij groter.

    Quote Originally Posted by havezet View Post
    Ik denk dat je je hierin vergist. Doe eens een poll onder je users.
    Zelf geloof ik dat meer dan 90% van alle Windows installaties vandaag de dag een 64 bit versie is. Ik kan niet zo snel harde cijfers vinden.
    Bij mijn gebruikers is dat zeker niet zo. Ja, nieuwe werkstations worden 64 bit maar ik heb nog heel veel klanten met oudere machines die op 32 bit zitten.

    Ik heb zelfs nog gebruikers op mijn DOS programma zitten Die draaien sowieso op 32bit Windows Omdat ze kunnen printen naar Windows printers (met proportioneel lettertype e.d.) en E-mailen met PDF hebben niet alle gebruikers behoefte om op een Windows versie over te stappen.

  2. #17
    Quote Originally Posted by GolezTrol View Post
    Hoe dan ook ga je daar een nieuwere versie van Delphi voor nodig hebben, of Lazarus.
    Lazarus houd ik al enkele jaren in de gaten, maar is nog geen optie voor mij... Ik ben nogal fan van MDI-forms.... en dat werkt nog niet in Lazarus...

    Quote Originally Posted by GolezTrol View Post
    Aanpassingen in code zal je wel moeten maken, al is dat ook afhankelijk van hoe je code er nu uitziet. Als je bijvoorbeeld Integers naar Pointers cast, zoals het aloude trucje om getallen in de TObjects van een stringlist te proppen, dan zal je al wat anders moeten verzinnen, want de ene is straks 4 bytes, en de andere 8.
    mijn programmeer kunsten zijn vrij basic....dus dat soort trucjes gebruik ik niet....

    Quote Originally Posted by GolezTrol View Post
    Met een nieuwe Delphi-licentie mag je ook gebruikmaken van de tussenliggende versies. Ik zou overwegen om je applicatie ook eerst naar 2007 te brengen, hints en warnings weg te werken, en dan verder te upgraden.
    thanks voor de tip.... Ik zal eens kijken of ik die versie ergens kan vinden...en wat een licentie kost...
    Brouwvisie is helemaal mijn ding
    http://www.bier-brouwer.nl

  3. #18
    mov rax,marcov; push rax marcov's Avatar
    Join Date
    Apr 2004
    Location
    Ehv, Nl
    Posts
    10,166
    Quote Originally Posted by Oscar View Post
    Lazarus houd ik al enkele jaren in de gaten, maar is nog geen optie voor mij... Ik ben nogal fan van MDI-forms.... en dat werkt nog niet in Lazarus...
    MDIForms voor QT werken al een tijdje. Voor win32 zijn ze op 2020-02-28 gecommit. Dus dat is mogelijk een tikje verouderd, ik heb er nog niet mee gespeeld, even checken dus.

    Maar MDI op Mac zal lastig zijn, maar dat zal met Delphi niet anders zijn.

    thanks voor de tip.... Ik zal eens kijken of ik die versie ergens kan vinden...en wat een licentie kost...
    Eur 1354 voor de goedkope versie, mogelijk het eerste jaar subscription inclusief. En daarna waarschijnlijk 20% of 25% van die som jaarlijks, want licenses zijn niet meer eeuwigdurend.
    Last edited by marcov; 29-Jun-20 at 22:12.

  4. #19
    Ja, als ik nu zo'n overstap zou moeten maken dan zou Lazarus toch ook een serieuze optie zijn.

    Zit MDI nog wel in de nieuwere Delphi versies?
    Ik dacht dat het sowieso verouderd was.

  5. #20
    mov rax,marcov; push rax marcov's Avatar
    Join Date
    Apr 2004
    Location
    Ehv, Nl
    Posts
    10,166
    Quote Originally Posted by rvk View Post
    Ik dacht dat het sowieso verouderd was.
    Voor Windows ja. Voor QT weet ik het niet. (En je kan QT voor Mac gebruiken in theorie, maar meestal zal je Cocoa backend gebruiken)

  6. #21
    John Kuiper
    Join Date
    Apr 2007
    Location
    Almere
    Posts
    8,659
    Quote Originally Posted by havezet
    Ik denk dat je je hierin vergist. Doe eens een poll onder je users.
    Zelf geloof ik dat meer dan 90% van alle Windows installaties vandaag de dag een 64 bit versie is. Ik kan niet zo snel harde cijfers vinden.
    Maar dat geeft niet aan dat applicaties niet allemaal op 64 bits worden ontwikkeld. Ik gebruik veel firfox en thunderbird. Het heeft echt een tijd geduurd dat deze versies echt standaard op 64 bits worden geleverd. En de 32bits zijn nog steeds te downloaden.
    Delphi is great. Lazarus is more powerfull

  7. #22
    Fornicatorus Formicidae VideoRipper's Avatar
    Join Date
    Mar 2005
    Location
    Vicus Saltus Orientalem
    Posts
    5,479
    Quote Originally Posted by rvk View Post
    Zit MDI nog wel in de nieuwere Delphi versies?
    Ja hoor, zit er nog gewoon in.
    Het 20 jaar oude pakket waar ik dagelijks aan werk werkt nog op basis van MDI zelfs en wordt gewoon doorontwikkeld in Delphi 10.3.
    Last edited by VideoRipper; 01-Jul-20 at 11:44.
    TMemoryLeak.Create(Nil);

  8. #23
    mov rax,marcov; push rax marcov's Avatar
    Join Date
    Apr 2004
    Location
    Ehv, Nl
    Posts
    10,166
    Ik zit voor een applicatie nog op 32-bit, simpelweg omdat 64-bit 40% trager is op cruciale plekken. (en er is niet veel reden naar 64-bit te gaan). De vertraging zit in code die floating point bewerkingen doet.

    Na wat zoeken bleek dat naast alle andere veranderingen, op Windows 64-bit de x87 FPU gedeprecate is, wat betekent dat floating point over SSE gaat.

    Maar de Delphi compiler doet vrijwel alleen operaties in double, dus alle singles worden continue van en naar doubles geconverteerd. Ik vermoed dat hier het snelheidsverschil vandaan komt.

    Een andere mogelijke kandidaat heb ik ergens gelezen: hoewel rechttoe rechtaan operaties sneller zijn in SSE, zijn complexe (exp/sin/cos etc) mogelijk trager. Dit wordt vaak weggemoffeld met als argument dat je met SSE die operaties dan wel 4-8 voudig in parallel kan doen, maar dat moet je er zelf met de hand met intrinsics met bloed, zweet en tranen programmeren, en geldt dus vn voor de wetenschappelijke reken community en wat andere high-density kernels.

    Welke van de twee dominant is heb ik nog niet uitgezocht, want het is een heel blok van operaties, niet een simpele lus.

  9. #24
    Voorheen werd nog veel Extended gebruikt. Ik dacht dat dat een Delphi-eigen ding was, maar dat bleek bij nader onderzoek een stukje Intel-magie te zijn. In de nieuwe Delphi compilers is Extended daarom volgens mij gelijk gemaakt aan Double.
    1+1=b

  10. #25
    mov rax,marcov; push rax marcov's Avatar
    Join Date
    Apr 2004
    Location
    Ehv, Nl
    Posts
    10,166
    Extended was official altijd al intel-internal, en eigenlijk nooit bedoeld voor eindgebruikers.

    Het idee was dat sommige x87 instructies niet "compleet" zijn, b.v. agv beperkt domein waardoor er extra operaties nodig zijn om de ingaande parameter in het juiste domein te krijgen.

    Maar als je een IEEE operatie in meerdere operaties opbreekt wordt de fout ook groter. Dit wordt ondervangen door zo'n functies in extended te bereken met een paar extra bits, zodat je voor de hele operatie double precisie overhoudt.

    Op sommige targets (zoals G5 Macs, powerpc64) is extended een IEEE 128-bit. (een quadruple zeg maar)

Page 2 of 2 FirstFirst 1 2

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •