[OSX] Unofficial Path of Exile port - 30/12/2018 status update

Hi. I dont know if this is being updated but I cant seem to find jules wrappers anywhere to download.
is there a link or I am missing something?
"
cevdetarkun wrote:
Hi. I dont know if this is being updated but I cant seem to find jules wrappers anywhere to download.
is there a link or I am missing something?


1st post, "old intro" spoiler area...

Anyway, as of 3.6 none of these wrappers will work as PoE is removing DirectX 9 support and Mac cannot run DirectX 11 games
"
FarazonC wrote:
If this is mainly used to trade and craft, how could I get the game to run in a reasonable format from bootcamp or other means as you suggested earlier?


Hey Farazon,

If you install a BootCamp partition, you're installing Windows as another operating system on your Mac. From there you would run the Windows version of PoE, you wouldn't use any of the downloads in the original post from this thread, you would just install the game client directly or through your Steam account.

It's fairly easy to install a BootCamp partition if you have not done so before.
Is read-only mmap the biggest problem here? That's really not an insurmountable obstacle, especially if we're looking at just one file for read-only access. macOS has plenty of address space to keep around a single copy of the whole file mapped, and each subsequent call to mmap just has to return a pointer into that pre-mapped area.

You can inject a version of mmap that does just that into wine without even using a custom build by launching it with DYLD_INSERT_LIBRARIES, falling back to the system implementation when it's not attempting to map something from content.ggpk.

Here's a hacked-up version of the C program that julus posted to show the mmap performance problem. There are two changes from the original:

  • I'm using `volatile char c` because otherwise the copy loop gets optimized away
  • more importantly, if you build it with -DCHEAT, you get my hacked-up implementation of mmap that just keeps one mapping around.

  • (To clarify, I called it "cheat" because it feels like cheating the operating system; it has nothing to do with in-game cheats, and on second thought I really should have called it "fast" instead of "cheat".)

    With the old version, I get these times:

    "

    1000 mmaps 4 kB blocks: 16638 ms
    1000 mmaps 64 kB blocks: 16557 ms
    1000 mmaps 1024 kB blocks: 18319 ms


    With -DCHEAT, I get these times:

    "

    1000 mmaps 4 kB blocks: 177 ms
    1000 mmaps 64 kB blocks: 410 ms
    1000 mmaps 1024 kB blocks: 2146 ms


    At that point mmap is free and all you pay is the cost of actually copying: if you remove the copy operation, the mmap 4 kB takes like 17ms (that's the cost of mmapping the file once, basically) and then 64kB and 1024kB is 0ms.

    You can easily move the mmap code to a small .dylib file, and set the DYLD_INSERT_LIBRARIES environment variable to ./libmmapHack.dylib (or whatever you call it) on the wine process to load it. (Here's an example of how to set it up in the form of a tangential Stack Overflow question.) You would need a small, extra bit of work to check that you're attempting to map from content.ggpk, which you can do in a variety of ways: calling `fcntl(F_GETNAME)` on the file descriptor and checking that the base name is content.ggpk could be one way to do it.

    To be extra clear: this will only work if the game really just wants read-only mappings of contents.ggpk, if it needs write permissions then that won't work.

    I'm too busy to maintain a port package, but if that sounds promising, I'll gladly help with setting that up if julus (or anyone else who's capable of it) wants to take it from there. I'll just need some contact info to get in touch if that's not precise enough and follow-up is required.
    Last edited by ChemicalWombat on Aug 20, 2019, 3:07:18 AM
    Ah, I'm guessing that DirectX 9 no longer being supported is going to be a tougher one to fix.
    Is there any feedback on performances with a bootcamp and a macbook pro from this year, and if i need the i7 and or 16go ram for correct performances.

    Or would a (way cheaper) regular dell or whatever laptop perform better anyway ?

    If anyone is currently playing with such a laptop would it be possible to record some gameplay ?
    "
    Is there any feedback on performances with a bootcamp and a macbook pro from this year, and if i need the i7 and or 16go ram for correct performances.

    Or would a (way cheaper) regular dell or whatever laptop perform better anyway ?

    If anyone is currently playing with such a laptop would it be possible to record some gameplay ?


    With Bootcamp you get full native performance. In other words, "Bootcamp" is just a term of booting Windows on Mac, no emulation is involved, once you install it and boot it, you are in the windows world with all its pros and cons. Therefore that is the reason why "Bootcamp" is the best solution to play PoE on Mac.

    As per you question it seems you have the lowest model (i5, Intel Iris plus 645 GPU, 8 GB RAM). The game should be decently playable at decent FPS with lower resolution/graphic settings (40-60fps), but I wouldn't play Hardcore league on it straight away as I would expect serious FPS drops on very busy screens. (the older generation (iris 620) was hitting 30-40 fps, the 655 GPU is twice as powerful than 620 and 645 is a bit weaker on paper than 655, so figure :D I haven't found any tests/benchmarks for 645)

    As for the cheaper laptop for playing PoE: unless it would have decent GPU (higher model of amd or nvidia), don't bother with it, waste of money.

    There is a simple rule: The OS is in charge.

    It is within the responsibility of the OS to give the application its data (file in this case).
    That means that applications shouldn't try to use a serialised file container to handle their files on their own.

    - an application can't know how the file storage physically work. And even if, hardware changes.
    - an application can't know how the informations are organised within the file system. And even if, software changes.
    Ask Adobe about their file cache system that was engineered with traditional spinning hard drives in mind.

    In a world where the system is optimising (moving) the data for even faster access, is creating a big file the worst you can do as the system can't optimise nor use any shortcut the the actual data. In modern systems with SSDs does changes to a file get written separately and not the entire file anew as it was on traditional drives.
    If you you serialise your data into one file, you end up with an insane large file where seeking the information you need takes ages. Ask database ppl about that approach.

    And no, Apple isn't going to change or roll back. It's the same as with other topics like enforce USBC. It would block evolution if you are forced to stick to one legacy approach.

    After all an Application is not the Operating System - something that often is not kept in mind during development.

    Still not good but better: chunks of 1GB data with a cache folder for the most recently used stuff should work wonders for your game on all platforms.
    Hi guys. So, yesterday I have found how You can start PoE on any MacBook with established internet connection with speed not less than 10 mb/s.
    I use the remote server of GeForce now, and play in game without any heading.
    Also it’s for free, but every 1~1,5 hour You need to restart the game
    Hey Farazon,

    If you install a BootCamp partition, you're installing Windows as another operating system on your Mac. From there you would run the Windows version of PoE, you wouldn't use any of the downloads in the original post from this thread, you would just install the game client directly or through your Steam account.

    It's fairly easy to install a BootCamp partition if you have not done so before.


    https://s3.amazonaws.com/subwaysurfers/index.html
    https://chrome.google.com/webstore/detail/pubg/pknkhcebclkaofaliggfhnieiahbbmnf

    Report Forum Post

    Report Account:

    Report Type

    Additional Info