Item Search
     
BG-Wiki Search
+ Reply to Thread
Page 1 of 4 1 2 3 ... LastLast
Results 1 to 20 of 61
  1. #1
    Relic Weapons
    Join Date
    Dec 2012
    Posts
    334
    BG Level
    4
    FFXI Server
    Leviathan
    WoW Realm
    Madoran

    Direct3D8 to Direct3D9 Proxy - Performance Helper (For FFXI)


    Direct3D8 to Direct3D9 Proxy
    Final Fantasy XI in Direct3D9!

    Donations

    This project is released for free in hopes to help fix issues with playing the game on laptops that have switchable graphics. Donations can be made to show your appreciation to my work and a way to say thanks if this project has helped fix any issues you may have had. Donations are also what encourage me to continue working on this (and other FFXI related projects) in the future if other bugs and problems arise. Any amount is appreciated and I am thankful to anyone that does donate. I hope this project can help fix your issues like it has mine. :slight_smile:




    What Is This Project?

    To understand what this project is, we should first understand why it's needed. Final Fantasy XI is a game that was designed and developed starting back in the late 1990's into the early 2000s. Because of this, the development of FFXI was 2-4 years prior to Direct3D 9 existing. This means that FFXI was designed and coded for Direct3D 8 instead, as that was the latest available version at the time. In the 20+ years of XI's lifespan, SquareEnix has never done any work to upgrade the game, on PCs, to newer modern DirectX versions.

    Microsoft had deprecated the older versions of DirectX over time, including Direct3D8, which FFXI uses, shortly after Direct3D 9 was released. While this does not stop it from working, it does stop it from receiving any kind of support or updates going forward. With this, Nvidia also dropped support and deprecated it within their drivers. As Windows advanced from the Windows XP of that era to todays Windows 10 and 11, the support internally for the older versions of DirectX have also changed at the OS level. Anything older than DirectX 9 is now handled in a much less than ideal manner, effectively causing it to be CPU bound and will no longer take full advantage of a users graphics card in many cases. The main one being with laptops.
    During XI's lifespan, Nvidia (and AMD) developed mobile variants of their desktop GPU chips, allowing laptops to have much more power for gaming. However this came with a tradeoff in the form of Nvidia Optimus and AMD Switchable Graphics, their technologies that causes the laptop to 'decide' which chip it will use for rendering various things. With the older variants of Windows (ie. XP, Vista, 7 and 8/8.1) this was fine and DirectX 8 games would still trigger the dedicated GPU in the laptop (if it has one) allowing for best performance while playing the game. However, starting with Windows 10, this is no longer the case. Games using the older DirectX technologies such as DirectX 8 will no longer activate the dedicated GPU. (The only way for users to force this to happen now is if your laptop has a modern MUX switch and you force it on.)

    This project is a Direct3D proxy DLL. This means that when loaded, it sits between Final Fantasy XI and Direct3D allowing it to intercept and alter how calls made to the original d3d8.dll work. When using my proxy, PlayOnline (pol.exe) will load my d3d8.dll file instead of the one located in your Windows system directory. After this happens, my proxy will then intercept any calls made to the original expected Direct3D 8 DLL exports. When this happens, my proxy DLL will then load and make use of the real d3d9.dll instead. Any calls made to the expected Direct3D 8 objects are rewritten and forwarded to their Direct3D 9 variants. (More work is done behind the scenes such as rewriting deprecated shader instructions and such, but this is the main jist of what happens.)

    tldr; This project makes Final Fantasy XI run using Direct3D 9 instead of Direct3D 8, thus allowing Nvidia Optimus (and AMD's Switchable Graphics tech) to activate and cause the users laptop to make use of its dedicated GPU.


    Who Should Use This Project?

    While anyone can try and use this project to see if it helps with their performance issues, it's mainly intended and designed for laptops that have Nvidia Optimus / AMD Switchable Graphics and either do not have a MUX chip, or do not use their MUX chip in a 'dedicated graphics only' mode. Using modern laptops that have these kinds of selective graphics features will cause the laptop to never trigger running FFXI on the actual dedicated GPU, thus, you are then limited to the software rendering layer of handling Direct3D 8 instead. As laptop CPUs continue to advance as well, users will generally see even worse performance on higher end / newer laptop CPUs.

    Thus, this project is ideal for the following criteria:

    • You are playing on a laptop that is running a version of Windows newer than 8 or 8.1. (ie. Windows 10 or 11)
    • You are playing on a laptop that has Nvidia Optimus or AMD Switchable Graphics.
    • You are playing on a laptop that either does not have a dedicated MUX switch or your MUX switch is not set to always run in dedicated graphics mode.


    For myself, I have the following two laptops and need a proxy to gain proper performance and make the game playable:

    • MSI GE72VR 7RF Apache Pro - Intel Core i7-7700HQ, Nvidia GeForce 1060 Mobile GPU
    • MSI Titan GT77 HX 13V - Intel Core i9-13980HX, Nvidia GeForce 4090 Mobile GPU


    Using either of these laptops with FFXI by default will see performance of about 5-15fps in-game with a lot of input lag, stuttering and other performance issues. Using a proxy, such as mine, will force the game to run using Direct3D 9 and bring it back to crisp and stable 30fps. (Even allowing unlocking to 60fps or higher as desired.) This also fixed all rendering issues and side effects I would have/see with the default stock software rendering that Windows does. (ie. bad/missing shadows, incorrect lighting, washed out colors, incorrect clipping, render states not working correctly causing custom drawn things via Ashita, such as fonts with backgrounds, to not render.)


    System Requirements

    You will need the following things installed in order to make use of this project:



    For Windows 8.1, 10, 11 and newer, you may be prompted to install DirectPlay when you load the game, this is required to even play Final Fantasy XI but is disabled by default on newer operating systems. Simply accept the installation for that and follow the steps on-screen to do so. This is built into Windows and not related to this project at all but is required to play the game. You may need to manually do this yourself via Turn Windows Features On or Off. Under Legacy Components is DirectPlay, which you need to enable.


    How To Use / Install

    The way to use and install this project will depend on if you are playing on the live retail servers, or if you are playing on a private server. Please follow the proper instructions below based on which you are playing on. Failure to follow the directions correctly or for the kind of server you are playing on will cause the proxy to not load or fail to load properly, causing the game to crash or just not work at all.

    Retail Installation

    • Download the latest version of this project.
    • Open the folder where you have PlayOnline installed. (ie. C:\Program Files (x86)\SquareEnix\PlayOnlineViewer\)
    • Extract the projects d3d8.dll and d3d8.ini files into this folder. (The same folder as pol.exe is in.)


    When completed, it should look like this: https://i.imgur.com/UxkK2cL.png

    Private Server Installation

    • Download the latest version of this project.
    • Open the folder to where your private servers boot loader is located. (ie. pol.exe, horizon-loader.exe, xiloader.exe, etc.)
    • Extract the projects d3d8.dll and d3d8.ini files into this folder.


    When completed, it should look like this: https://i.imgur.com/AjWHGD9.png

    Note: Private servers have all kinds of different custom installs and configurations. Because of this, the default location of their bootloader may not be the same as where Ashita generally places and expects it. You will need to consult with the staff of your private server if you need help locating where the proper location is to install a proxy such as mine.

    Downloads & Support

    My Direct3D proxy project has moved from the Ashita forums to the Ashita Discord server.
    You will first need to join the Ashita Discord server via:
    https://discord.gg/Ashita

    You can then find all news, updates, information and downloads for the proxy under the 'atom0s Direct3D Proxy' section.

  2. #2
    2600klub
    I donated 5 bucks and all I got was this shitty title from Zet

    Join Date
    Jun 2007
    Posts
    2,690
    BG Level
    7
    FFXI Server
    Ragnarok

    I truly admire your dedication to this ancient game, I mean that.

  3. #3
    Relic Weapons
    Join Date
    Dec 2012
    Posts
    334
    BG Level
    4
    FFXI Server
    Leviathan
    WoW Realm
    Madoran

    Quote Originally Posted by Arkanna View Post
    I truly admire your dedication to this ancient game, I mean that.
    I enjoy supporting my applications / work until there is no need or interest for it. Since people use a lot of things of mine from FFXI, I keep working on it even though I haven't played the game since before Abyssea was released. Glad I can help others have a more enjoyable experience.

  4. #4
    i should really shut up
    You can safely ignore me I am a troll

    Join Date
    Sep 2011
    Posts
    6,750
    BG Level
    8
    FFXI Server
    Asura

    Good job making this, thanks.


    But, I don't use Ashita :/

  5. #5
    Yoshi P
    Join Date
    Dec 2006
    Posts
    5,360
    BG Level
    8
    WoW Realm
    Arthas

    Could this improve performance at all if you aren't using one of those switchable mobile graphics things?

  6. #6
    Campaign
    Join Date
    Jul 2007
    Posts
    6,633
    BG Level
    8

    Made a very small (and insignificant) donation on PayPal. I can't fully use your project atm, but I admire your dedication and I've been dreaming for something like this for many, many, many years.
    I just hope someone from the Windower team could work hand in hand with you to make this useable not just with vanilla and Ashita, but Windower too.
    But in the end I can understand how that would be unpractical and unrealistical.

    Regardless, kudos again for your inspiring work Atomos!

  7. #7
    Campaign
    Join Date
    Jul 2007
    Posts
    6,633
    BG Level
    8

    Quote Originally Posted by fantasticdan View Post
    Could this improve performance at all if you aren't using one of those switchable mobile graphics things?
    If you have a high end CPU/GPU and play with default settings you probably won't see much of a difference, but if you start turning on shadows and want to play at more than 30fps and make your framerate consistant, then I'm very very confident this project would create massive differences in such scenarios.

  8. #8
    Yoshi P
    Join Date
    Dec 2006
    Posts
    5,360
    BG Level
    8
    WoW Realm
    Arthas

    Tried installing to see if it would increase fps with weather/shadows on, but causes ashita to crash as ffxi is launched from pol.

  9. #9
    Lyramion's better half
    Join Date
    Sep 2006
    Posts
    522
    BG Level
    5
    FFXIV Character
    Hopefulki Nozomi
    FFXIV Server
    Hyperion
    FFXI Server
    Asura

    Quote Originally Posted by Sechs View Post
    Made a very small (and insignificant) donation on PayPal. I can't fully use your project atm, but I admire your dedication and I've been dreaming for something like this for many, many, many years.
    I just hope someone from the Windower team could work hand in hand with you to make this useable not just with vanilla and Ashita, but Windower too.
    But in the end I can understand how that would be unpractical and unrealistical.

    Regardless, kudos again for your inspiring work Atomos!
    Echoing this, thanks very much for all of your hard work and dedication. I really hope someone can port this over to Windower somehow as I am so invested in Gearswap, that there's no way I could swap over. I do travel a lot for work, so when I am not home, Optimus impacts my performance quite a bit. The fact that this is out there in the wild gives me hope!

  10. #10
    Relic Weapons
    Join Date
    Dec 2012
    Posts
    334
    BG Level
    4
    FFXI Server
    Leviathan
    WoW Realm
    Madoran

    Quote Originally Posted by fantasticdan View Post
    Could this improve performance at all if you aren't using one of those switchable mobile graphics things?
    If you have an old system, it could, but it's mainly meant for laptops with switchable graphics. But anyone is free to try it out and use it if they want. Another thing this opens up is the use of things like SweetFX / ReShade and similar graphics projects like those. So if you are interested in them you can make use of them with this project from what I've been told. (I don't use them so I have no idea how they are setup and work with other wrappers etc.)

    Quote Originally Posted by Sechs View Post
    Made a very small (and insignificant) donation on PayPal. I can't fully use your project atm, but I admire your dedication and I've been dreaming for something like this for many, many, many years.
    I just hope someone from the Windower team could work hand in hand with you to make this useable not just with vanilla and Ashita, but Windower too.
    But in the end I can understand how that would be unpractical and unrealistical.

    Regardless, kudos again for your inspiring work Atomos!
    Thanks for the donation and kind words. I do not have any plans on working with the Windower team though, sorry.

    Quote Originally Posted by fantasticdan View Post
    Tried installing to see if it would increase fps with weather/shadows on, but causes ashita to crash as ffxi is launched from pol.
    If you would like to contact me on Discord, I can help you out over TeamViewer to try and find out the cause of your crash. My Discord name is:
    atom0s#3826

  11. #11

    Quote Originally Posted by Spicyryan View Post
    Good job making this, thanks.


    But, I don't use Ashita :/
    Judging from the way he has implemented this I don't think Ashita is necessary. It installs a wrapper disguised as D3D8.DLL in the POL directory. When you launch the game it looks for D3D8.dll and the first thing it finds is the "D3D8.dll" in it's own directory which it then loads and uses. Because this "D3D8.dll" is the first thing with that filename in the directory path it doesn't load the D8D8.dll in the the system32 directory (the real one) as it normally would.

  12. #12

    Doesn't seem to be working in windows 10, FFXI just picks up D3D8.dll from the system32 directory and ignores the one in it's local directory. I can tell this because the files can be deleted or moved after ffxi is running and it would be locked if it were in use.

  13. #13
    RIDE ARMOR
    Join Date
    Aug 2013
    Posts
    11
    BG Level
    1
    FFXI Server
    Asura
    WoW Realm
    Dunemaul

    Ashita + this = AWESOME! The game is so smooth. I do have one issue, and that's the background brightness is way too low at night so that I can't navigate caves ingame. Other than that, this is .... perfect. Thank you!

  14. #14
    Ridill
    Join Date
    Jun 2007
    Posts
    12,005
    BG Level
    9
    FFXIV Character
    Teisha Linne
    FFXIV Server
    Moogle
    FFXI Server
    Bahamut

    What I saw when googling for other issues is people using dgvoodoo2:
    https://reshade.me/forum/troubleshoo...-on-load#14438

  15. #15
    RIDE ARMOR
    Join Date
    Aug 2013
    Posts
    11
    BG Level
    1
    FFXI Server
    Asura
    WoW Realm
    Dunemaul

    @Gokulo I don't want to mess with that >_> I heard people asking for help with that in /yell haha. This works...

  16. #16

    Finally got it to work, I had to put the DLL and INI in /PlayOnline/Square Enix/FINAL FANTASY XI

    If you can delete the DLL after FFXI is running then it is not working, if access is denied when you try to move or delete it than FFXI has loaded and is using the D3D8.dll

    EDIT Ok I have to have it in both PlayOnlineViewer and FINAL FANTASY XI or else it will not work. If it's only in FINAL FANTASY XI it dumps back to POL when I start the game and if it's only in PlayOnlineViewer it just doesn't load.

  17. #17
    Relic Weapons
    Join Date
    Dec 2012
    Posts
    334
    BG Level
    4
    FFXI Server
    Leviathan
    WoW Realm
    Madoran

    Quote Originally Posted by Atomic Skull View Post
    Doesn't seem to be working in windows 10, FFXI just picks up D3D8.dll from the system32 directory and ignores the one in it's local directory. I can tell this because the files can be deleted or moved after ffxi is running and it would be locked if it were in use.
    It should be placed in the same folder as pol.exe (or the same folder as the private server boot loader you use if you play on a private server.) I personally only tested on private servers since I do not play on retail. The handful people that have tested for me were on various systems, mostly Windows 10, and had no issues or need to put it in the FFXI folder since the main app loading the d3d8.dll module is pol.exe. If you bounce back from FFXI to pol and back into FFXI in a single instance it may have issues with the current path and may require it to be in the FFXI folder as well, but initially it shouldn't need to be there.

    Quote Originally Posted by Grayn View Post
    Ashita + this = AWESOME! The game is so smooth. I do have one issue, and that's the background brightness is way too low at night so that I can't navigate caves ingame. Other than that, this is .... perfect. Thank you!
    You may need to tweak your mipmap and bump map settings.
    Ashita offers the /ambient command as well to help brighten things up but again the first two settings need to be adjusted correctly for it to work.

    Quote Originally Posted by Gokulo View Post
    What I saw when googling for other issues is people using dgvoodoo2:
    https://reshade.me/forum/troubleshoo...-on-load#14438
    Every tester of mine was a user of dgVoodoo and all had the same issues with it. Random crashes, random artifacts and so on. My proxy is specifically for FFXI to help ensure it is stable and works well with the game to avoid any crashes. So far I have had no reports of crashes that were fault of the proxy itself.

  18. #18
    RIDE ARMOR
    Join Date
    Aug 2013
    Posts
    11
    BG Level
    1
    FFXI Server
    Asura
    WoW Realm
    Dunemaul

    No issues anymore after fixing the bump/mip mapping settings down to 0.

  19. #19
    Salvage Bans
    Join Date
    Jun 2007
    Posts
    768
    BG Level
    5
    FFXIV Character
    Raiya Li'aurellia
    FFXIV Server
    Moogle
    FFXI Server
    Asura

    This worked on my new Alienware 13 that I bought since its got optimus built into it. Wouldnt use the dGpu only IGFX. Pity someone cant make a fix for this so it would work on windower ashita does work and all (after getting kaspersky to stop blocking 4 files) but the TParty plugin is misalligned and wont position correctly on 1440p resolution.

  20. #20
    Relic Weapons
    Join Date
    Dec 2012
    Posts
    334
    BG Level
    4
    FFXI Server
    Leviathan
    WoW Realm
    Madoran

    Quote Originally Posted by Infini View Post
    This worked on my new Alienware 13 that I bought since its got optimus built into it. Wouldnt use the dGpu only IGFX. Pity someone cant make a fix for this so it would work on windower ashita does work and all (after getting kaspersky to stop blocking 4 files) but the TParty plugin is misalligned and wont position correctly on 1440p resolution.
    Issues with alignment are usually due to your window and menu resolutions being different. The addons and plugins made for Ashita were designed before SE offered the ability to alter the menu resolution so they are not coded to handle the different scaling that can be done because of it. To fix this, usually you can just set the menu resolution to match your window size and it should align properly then. However, some less common resolutions may still have some issues.

    As for this not working with Windower, it is not something that is broken. It is intentionally coded that way.

+ Reply to Thread
Page 1 of 4 1 2 3 ... LastLast

Quick Reply Quick Reply

  • Decrease Size
    Increase Size
  • Remove Text Formatting
  • Insert Link Insert Image Insert Video
  • Wrap [QUOTE] tags around selected text
  • Insert NSFW Tag
  • Insert Spoiler Tag

Similar Threads

  1. Can Free-to-Play Model Work For FFXI? If So How?
    By Gwynplaine in forum FFXI: Everything
    Replies: 20
    Last Post: 2012-06-28, 13:56
  2. Can you use prepaid visa cards to pay for ffxi?
    By Kiyuan98 in forum FFXI: Everything
    Replies: 3
    Last Post: 2008-03-25, 18:02
  3. DO GM's DO SHIT for FFXI but ban good players?
    By Aleingarn in forum FFXI: Everything
    Replies: 26
    Last Post: 2006-09-15, 05:42
  4. Best graphics card for FFXI?
    By Vinsent in forum FFXI: Everything
    Replies: 8
    Last Post: 2006-07-12, 17:04
  5. Isnt it depressing to camp the same 3NMS for the past 3yrs?
    By Twentytwo in forum FFXI: Everything
    Replies: 189
    Last Post: 2006-06-21, 20:27
  6. UDP/TCP or Port number for FFXI
    By Shinobi in forum FFXI: Everything
    Replies: 4
    Last Post: 2006-02-03, 01:20
  7. Replies: 9
    Last Post: 2005-08-08, 21:06
  8. Replies: 3
    Last Post: 2004-09-17, 13:51