Results 1 to 5 of 5

Thread: 32bit Vs. 64bit

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Quote Originally Posted by Lifepower View Post
    There are many performance advantages going for 64-bit which are too often overlooked. (...)

    In my opinion, as long as your CPU supports it, 64-bit is the way to go. On all my systems including ones in the office we use 64-bit OS exclusively and most applications we use have been ported to 64-bit too. For instance, Asphyre has been ported to 64-bit almost a year ago both for Delphi and FPC. I don't think you'll have much trouble porting Allegro too.
    Actually I don't know if problem is Allegro or Allegro.pas. As I've said I didn't look to deep. I don't know why I can't compile Allegro by myself so I haven't a debuggable version to test properly.

    Anyway, what are the most common problems related with 32bit->64bit porting? Is there a gide somewhere? I've found some docs at the Free Pascal's wiki but nothing specific.

    Quote Originally Posted by Cybermonkey View Post
    I only use 64 bit Linux systems. I had almost no problems with FPC except with Allegro.pas and SDL. The SDL part (getpixel) was solved of course, which was discussed on Freepascal-meets-SDL: http://332959.forumromanum.com/membe...meets_sdl.html
    Had you? So I should work on it.

    Anyway I should ask to the Allegro's development team about what does changes between 32bit and 64bit...
    No signature provided yet.

  2. #2
    Quote Originally Posted by Ñuño Martínez View Post
    Anyway, what are the most common problems related with 32bit->64bit porting? Is there a gide somewhere? I've found some docs at the Free Pascal's wiki but nothing specific.
    Typically, you should look for code that works with pointers (e.g. calculating pixel address directly), especially if using Pointer <-> Integer typecasts, which should be changed to PtrInt / PtrUInt instead. When accessing external APIs, make sure that pointers and other data types are not mixed (e.g. if function requests pointer, don't declare it as integer and vice-versa). Other than that, LLP64 and LP64 models are meant to simplify porting applications to 64-bit, so if you don't rely heavily on pointers, your code should supposedly work out of the box.

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
  •