"EverQuest II was made with a prediction about CPUs in mind that never came true."

Discussion in 'Players Supporting Players' started by PlayerOne, Sep 25, 2018.

  1. PlayerOne Member

    Benchmark Comparison: AMD Ryzen 5 1600 vs Intel i5-2500K

    Hello! Let's start with some introductions. My real name is Parker. I am of Irish heritage, and love EverQuest II.
    I am a Principle Software Engineer for a company here in Dallas, TX. One of my odder hobbies is seeing how EQ2 runs on new machines. I have been at it for years.

    The purpose of this benchmark is to rebut a statement that many have said and few have tested:
    "EverQuest II was designed with the intention of CPUs becoming faster, without considering the increase in cpu cores that ended up happening in the industry."

    My findings are counter to that.

    With introductions out of the way, let's get started.
    Pay special attention to the Frames per Second line at the top of the results. It may surprise you to see that a 2nd generation Intel processor fares better by a factor of 1.5-2 fps better than a new Ryzen processor. At least, when it comes to EverQuest II.

    AMD Build (Higher IPS, higher Hz. Therefore there should be less bottlenecking. This is not the case.)
    CPU: Ryzen 5 1600
    GPU: EVGA 1070 Ti
    RAM: 16GB 2400Mhz
    PSU: 1000W

    AMD Results
    https://imgur.com/l7y8Ee6


    Intel Build (Lower IPS, lower Hz. Therefore there should be more bottlenecking. This is not the case.)
    CPU: Intel i5-2500k
    GPU: EVGA 1060 6GB
    RAM: 16GB 1866Mhz
    PSU: 1000W

    Intel Results
    https://imgur.com/iyB72jO
    Rosyposy likes this.
  2. Wilowsong Active Member

    What are you trying to say?
  3. PlayerOne Member

    Did you read what I wrote? The purpose of this benchmark is laid out plainly. I suppose, I'm "saying" that if you want to play EverQuest II at it's best, get an old CPU? I didn't write this to give advice. I was sharing my findings that I found surprising. Thanks for your response though. :)
  4. Wilowsong Active Member

    So which CPU is used for Everquest 2? The Intel?
  5. PlayerOne Member

    Umm. I don't mean to be rude, but I guess I should ask.
    Are you trolling me right now? It's a benchmark comparison of how an old Intel and a new AMD processor run EverQuest II.
    Thanks for your response.
  6. Wilowsong Active Member

    Trolling? I wasn't sure...
  7. Wilowsong Active Member

    Oh! I didn't read your reply right, sorry!
  8. Cragfire Well-Known Member

    The easiest way to test the age old debate.. would be to use the exact same equipment and computer; in your testing you have two different builds with two completely different cpu architectures.

    Take your Intel setup and turn off cores 1, 2, and 3 leaving 0 running.. Run tests at 2ghz, 3ghz, and 4ghz (overclocked if you can get that high, or 3.7ghz max chip speed)... Now bring the clock back down to 2ghz and test with 2, 3 and finally all four cores running (all locked at 2ghz)..

    This would result is a more solid data set.

    I go by the old saying the game was build for gigahertz over cores.. initially designed anyway.. This was also the given reasoning for poor performance on modern (back then) processors by the devs themselves.. Though thru the years multi-core support was added. Which in and of itself can skew results as the engine has been heavily modified over the years.
    Sigrdrifa likes this.
  9. Sigrdrifa EQ2 Wiki Author

    You also have to consider that Windows itself was cr@p at supporting large amounts of RAM at one time, and was cr@p at using multicores effectively at first. And Windows is still cr@p about returning handles, which exacerbates EQ2's native memory leak problem.

    Also, GPUs have changed a lot in 15 years. At one time, they had a dev specifically working to try to direct more processing to the GPU, which is how we got GPU shadows. A good GPU can help EQ2's graphics today, but an astonishing amount of the graphics rendering is happening in the CPU even now.

    If they had the money for development, I'd love to see DBG build a new Everquest game engine from the ground up, specifically taking advantage of modern GPUs and multi-core architecture. Then port over all the quest and item content somehow. It would be a huge undertaking.
    Rosyposy likes this.
  10. Wilowsong Active Member

    Everyone plays on Windows...
  11. Kawoosh Well-Known Member

    I partially concur. However the "different cpu architectures" was the point of PlayerOne's test.

    With different configurations, at best your results merit an asterisk.

    The following is a partial Peer Review.
    • *
    There should have been no difficulty in using the same GPU and similar memory. And why did you leave out the EVGA 1070 Ti has 8GB GDDR5 https://www.evga.com/products/produ...GeForce 10 Series Family&chipset=GTX 1070 Ti?

    An example of testing using the same GPU.

    Core i7-2600K vs. 8700K: It's Been 7 Long Years

    • *
    To be nit-picky, the PSU usually has no relevance unless a system is underpowered. Or the PSU is sub-standard. Or you're testing power supplies. Cudo for this being the only part that is the same in both systems. Hopefully.
    • *
    Have you determined that the "1.5-2" FPS is not within the margin of error?

    Ryzen 5 1600 FPS range 23-78. Over 33 seconds. https://imgur.com/l7y8Ee6
    Intel i5-2500K FPS range 50-112. Over 22 seconds. https://imgur.com/iyB72jO

    Is that 1.5-2 FPS, or 1.5x-2x FPS? Why test over different lengths of time? Again, lack of standardization.
    • *
    EVGA 1070 Ti 8GB GPU D3D Usage 10%-25%.
    EVGA 1060 6GB GPU D3D Usage 10.9%-43.0%

    You do realize the GPU for the Intel system may be so-to-speak picking up a small amount of slack?
    • *
    Ryzen 5 1600
    Intel i5-2500K
    What clock speed was each CPU set at? Not that having the same clock on any two different CPUs means equivalence, but it's good to know from a testing standpoint.
    • *
    Did you use the same monitor/screen resolution? What did you use? 720p, 1080p, 1440p, etc.? See the above video for why this matters.
    • *
    You do realize the "without considering the increase in cpu cores that ended up happening" means you're saying EverQuest II designers were supposed to know the actual future? At the time they designed the game.

    Your testing only shows, that one system will have more FPS than another system. Which does have value for gamers piecing together an EverQuest II machine. However the CPU bit is a historical point, not a testing scenario.

    Of historical note.

    From 2009:
    From 2006:
    • CPU Usage after Patch 28 on dual core
    • https://forums.daybreakgames.com/eq2/index.php?threads/cpu-usage-after-patch-28-on-dual-core.52245/
    • "Have you tried using AMD's dual core optimizer? It's been known to fix many of the issues that might arise while using a dual core system." DanT EverQuest II employee
    • "No where did I imply that we were not working on updating the game to work with the current and developing hardware. Of course we are" DanT
    • "1 Core of the CPU being 100% utilized while the other core is not being used at all" DanT
    From 2005/2006:
    From October 2005:
    Pentium 4 Processor 2.80 GHz, 512K Cache, 533
    https://ark.intel.com/products/27447/Intel-Pentium-4-Processor-2_80-GHz-512K-Cache-533-MHz-FSB
    "# or Cores 1"
    "Processor Base Frequency 2.80 GHz"

    From 2004 (Note emphasis):

    • https://forums.mmorpg.com/discussion/22831/wtf-char-creation-and-sys-reqs/p2
    • "minimum hardware requirements" "Processor: 1 GHz" "Video Card: DirectX 9 compatible"
    • recommended "hardware specifications" "Processor: 2 GHz or greater" "Video Card: DirectX 9 compatible"
    • "What components should I use to build the "perfect" EQII machine?

    • Keep in mind that we've designed our game with the future in mind. It will take CPUs and video cards that aren't on the market yet to be able to play our game with all options cranked up to full. The idea is that as computers get faster and faster, our game will look better and better without needing an engine overhaul."
    • "The system requirements for EQII seem to be raising the bar quite a bit. Is that wise move?"
    • "we make no apologies about designing a game that awaits a future generation of hardware to see its full potential. We intend for our game to be around for years to come, and as processors and graphics cards get more powerful you'll see EQII take advantage of that technology."
    Note that from the 2004 perspective, 'computer speed' equals CPU/processor speed.
    • Ah the good old days.
    Q&A: EverQuest II producer John Blakely
    April 26, 2004
    https://www.gamespot.com/articles/qanda-everquest-ii-producer-john-blakely/1100-6094533/ http://archive.is/JFfEl
    "if you can't enjoy your own game, then what is the point?"
    Cheallaigh and Sigrdrifa like this.
  12. Sigrdrifa EQ2 Wiki Author

    Yes. And Windows today is not what Windows was 15 years ago. The OP is trying to disprove the idea that when launched, EQ2's game engine was built with the idea that CPUs would continue doubling their stats each generation and was not designed with multi-core in mind. Which is nuts, because at that time, that was the hardware future everybody was envisioning.

    They've done their best over the years to try and retrofit the game engine to match new architectures and new Windows implementations. But it's still not as effective as building a new game engine from the ground up that is consciously designed from the get-go to utilize modern GPUs and multi-core architectures.

    Right now, the CPU is still doing a lot of the heavy lifting in rendering the graphics, and that is a limitation that was baked in pretty solidly when the game engine was originally designed. They did make an attempt to offload some rendering to the GPU, which is how we got GPU shadows. But it proved too difficult to move all rendering to the GPU.

    Yes, a better modern system mitigates some of those limitations: having a SSD, a powerful video card/GPU, and a fast multicore system is going to get you better results with EQ2, but a game built to use modern architecture would do even better.
  13. Benj Well-Known Member

    Perhaps this is a misunderstanding on my part, but doesn't DirectX push most of the graphics work onto the GPU? I thought that library was designed so software developers have an abstraction that allows them to work with graphics cards. EQ2 has used DirectX from day one. I've personally had computers that support the idea that single-thread CPU speed affects the game more than GPU speed. How can the game engine be CPU-bound when it is built on top of DirectX?
  14. Kawoosh Well-Known Member

    The short highly simplistic answer is: back then everything was pushed through a single CPU. EverQuest II released on November 8, 2004. And was in design for three(?) years. The (mostly*) first commercial consumer dual processor was released in 2004.

    * http://www-03.ibm.com/ibm/history/ibm100/us/en/icons/power4/

    https://www.computerhope.com/history/processor.htm
    https://www.overclock.net/forum/297...ssions/1223703-first-dual-core-processor.html
    • SUNNYVALE, CALIF. -- 8/31/2004 -- Today, AMD (NYSE: AMD) announces it is demonstrating the industry’s first x86 dual-core processor. During demonstrations held at the company’s Austin facilities, AMD is showing an HP ProLiant DL585 server powered by four dual-core AMD Opteron™ processors manufactured on 90nm silicon-on-insulator process technology.
    • In April 2005, Intel's biggest rival, AMD, had x86 dual-core microprocessors intended for workstations and servers on the market, and was poised to launch a comparable product intended for desktop computers. As a response, Intel developed Smithfield, the first x86 dual-core microprocessor intended for desktop computers, beating AMD's Athlon 64 X2 by a few weeks.
    Unless you have some form of that chip to work with during development, you're stuck designing for what you already have; single core.

    Oh. You might be able, then, to buy a dual-core processor. But consumer computers using that chip came a bit later. Can't design for non-existent computers. Hence single core software.
    • Hindsight - Had EQII suffered development delays, imagine an EQII supporting multi-processor and GPU? EQII would have lost the 'we're first' battle, but might have won the MMORPG war.
    Unfortunately the longer answer is there are entire courses dedicated to the topic you brought up. So this rushed, have coins to work on, CliffNotes-type of the Reader's Digest-type version will have to do for now**.

    ** There are others with more expertise, that could chime in.


    3:38 "Okay kids. This is where it gets complicated" Amy Pond

    In the beginning:

    Programmer God --let there be code--> CPU

    Now:

    How does Microsoft Windows work?
    https://www.quora.com/How-does-Microsoft-Windows-work
    "This is a diagram of Windows NT system"
    [IMG]

    Yes, most EverQuest II gamers use Windows 7 and 10. But the above OLD diagram is representative of Windows in general.

    Windows 7: The Boot Process explained
    https://social.technet.microsoft.co...341.windows-7-the-boot-process-explained.aspx

    [IMG]

    How Operating Systems Work
    http://www.mindpride.net/root/Extras/how-stuff-works/how_operating_systems_work.htm
    [IMG]
    "At the simplest level, an operating system does two things:
      • It manages the hardware and software resources of the computer system. These resources include such things as the processor, memory, disk space, etc.
      • It provides a stable, consistent way for applications to deal with the hardware without having to know all the details of the hardware."
    "The second task, providing a consistent application interface, is especially important if there is to be more than one of a particular type of computer using the operating system, or if the hardware making up the computer is ever open to change. A consistent application program interface (API) allows a software developer to write an application on one computer and have a high level of confidence that it will run on another computer of the same type, even if the amount of memory or the quantity of storage is different on the two machines. Even if a particular computer is unique, an operating system can ensure that applications continue to run when hardware upgrades and updates occur, because the operating system and not the application is charged with managing the hardware and the distribution of its resources."

    "The operating system's tasks, in the most general sense, fall into six categories:
      • Processor management
      • Memory management
      • Device management
      • Storage management
      • Application interface
      • User interface"
    "It is processes, rather than applications, that the operating system controls and schedules for execution by the CPU."

    "The path between the operating system and virtually all hardware not on the computer's motherboard goes through a special program called a driver. Much of a driver's function is to be the translator between the electrical signals of the hardware subsystems and the high-level programming languages of the operating system and application programs."

    "One reason that drivers are separate from the operating system is so that new functions can be added to the driver -- and thus to the hardware subsystems -- without requiring the operating system itself to be modified, recompiled and redistributed. Through the development of new hardware device drivers, development often performed or paid for by the manufacturer of the subsystems rather than the publisher of the operating system, input/output capabilities of the overall system can be greatly enhanced."


    What is DirectX and How Does it Work? (DX11 vs. DX12)


    EverQuest II was built with DirectX 9, but the video above provides an explanation of DirectX in general.

    DirectX 12: what is it, and why it matters to PC gamers
    2016-04-08 by Kevin Parrish
    https://www.techradar.com/news/gaming/directx-12-what-is-it-and-why-it-matters-to-pc-gamers-1318636

    "What in the world is DirectX?
    DirectX, simply put, is software developed by Microsoft that talks to a PC's hardware components. Specifically, it's a collection of application programming interfaces, or APIs, designed to handle tasks related to rendering 2D and 3D vector graphics, rendering video and playing audio on the Windows platform."

    Explained: What “DirectX” really is, How it works
    February 10, 2013 by Kush Sharma
    https://softnuke.com/explained-directx-how-it-works/

    "Microsoft needed to introduce a common standard which all games and multimedia applications could follow – a common interface between the OS and whatever hardware is installed in the PC, if you like. This common interface is DirectX"

    “Microsoft’s idea was simple: stop programmers talking directly to the hardware, and build a common toolkit which they could use instead. DirectX was born.

    How it works

    At the most basic level, DirectX is an interface between the hardware in your PC and Windows itself, part of the Windows API or Application Programming Interface. Let’s look at a practical example. When a game developer wants to play a sound file, it’s simply a case of using the correct library function.”

    "Originally, DirectX began life as a simple toolkit: early hardware was limited and only the most basic graphical functions were required. As hardware and software has evolved in complexity, so has DirectX. It’s now much more than a graphical toolkit, and the term has come to encompass a massive selection of routines which deal with all sorts of hardware communication."

    What is DirectX?
    February 5, 2002
    https://www.developer.com/net/asp/article.php/968461/What-is-DirectX.htm

    The History of DirectX
    https://www.codingunit.com/the-history-of-directx

    [IMG]
  15. Benj Well-Known Member

    Wow. That is very thoroughly researched. Thank you for your detailed response. Clearly I have a lot left to learn as I pursue my software engineering degree. It hadn't occurred to me that DirectX 9 is even older than EQ2 and therefore would fall victim to the same single-core outlook. I remember getting great frame rates with my Athlon 64 x2 and even better with my Pentium 4 HT (both paired with an Nvidia 8800 GTS). I've often wondered if I would get better performance by rebuilding that old machine or by building a new rig optimized for clock speed and IPC. I always go for the newer hardware simply because EQ2 is not the *only* thing I do with my life.