Performance Improvements

"
Chris wrote:

Loading screens that appear before levels are best for assets that occur during that level, like environment tiles, monsters and the skills they use.

If an asset isn't loaded on one of these screens correctly, then it stalls the game client to load when it appears for the first time. For example, opening a Strongbox can generate a random Rogue Exile. If the effects or microtransactions that that Rogue Exile uses aren't already loaded, then the client stalls, potentially in a very dangerous way.

Preloading assets has a significant cost: Everything that is loaded at startup increases how long Path of Exile takes to load. It also increases memory usage. On 32 bit versions of Windows, processes are allowed to have 3gb of data loaded. On 64 bit versions of Windows, Path of Exile can load 4gb of data at once. If this is exceeded, the game crashes because it can't allocate more memory. It can even crash before this is exceeded, because of memory fragmentation issues (if there aren't holes large enough to fit the files in, due to a long game session).

On the other hand, if we opt to not preload assets, then there's significant stuttering that occurs during gameplay when assets are encountered for the first time. On slower hard drives, or when virus checkers or disk fragmentation are in play, the freezes related to synchronous loading can be quite long. This is unacceptable during combat, for obvious reasons.

For many years we've been maintaining a carefully curated list of assets to preload. We were trying to strike a perfect balance between loading the things that are needed, but not loading too much that we'd have slow load times or exceed our memory allowance. As our data size rose, we've had to develop more and more complex systems for managing which assets should be in memory at any time.


Maybe one of the things that should be preloaded in a load screen is Model, Items and Micro transactions of other players in your party. I have a massive fps drop/freeze every time my friend zones into my area, even if I was in last area with him.

Example:
"

We come to the end of a zone and go through transition/load screen at the same time.
I load in first, since I am using an SSD.
I start moving away from the entrance.
Then a couple of seconds into starting the new area, my friend loads in.
I get a 1 second freeze/fps drop.


This happens in every zone, it's even worse during a map/fight, and they TP back to town because they are full, because then I get another freeze/fps drop when they come back and I might be fighting. This has actually gotten me killed, my friend rejoin a map while i was fighting a Perandas chest, and the freeze was so much I was dead by the time it was over.

This has actually made me unable to play in towns, because of the constant stuttering as people join and leave makes it hard to use stash/shops.


(Also, awesome explanations, thanks for all the info, good job again GGG peeps)
Last edited by Innoxx on Apr 6, 2016, 4:40:42 AM
"
sklipnoty wrote:
"

I like how you think that the only reason most people don't have windows 10 is because of the new privacy policy for windows 10 (and I also like how you think that everyone should not care about privacy because you don't care about it). Windows 7 is still more stable and I think it is better for doing work (don't tell me I haven't used it, I have Windows 10 on my laptop). Upgrading may also mean additional cost and there is some risk that the upgrade may cause problems (for example compatibility issues etc).

Finally not everyone is using their computer just for games. I prefer using Windows 7 for now as it is more suitable for my work at the time being.

I haven't watched the performance differences. From the other hand just because you use Dx12 doesn't mean you are automatically going to have a performance benefit, you have to exploit the new features efficiently to be able to get the performance benefit.

And of cource as I said Dx12 may improve performance, but it certainly won't initially improve stability because it is a new system that may have a lot of bugs.

In other words the problem wasn't inherently the operating system or DirectX, but that they have introduced new features that resulted in new bugs.

Again you are making the argument that just because most people (?) have a good computer the rest should give up on path of exile. Surely there is a line that they have to draw, but the line you are suggesting would be a really bad business decision.

As for the majority of players, you can look it up yourself but here are some links:

http://www.w3schools.com/browsers/browsers_os.asp
https://en.wikipedia.org/wiki/Usage_share_of_operating_systems#Desktop_and_laptop_computers
http://store.steampowered.com/hwsurvey

Surely many have upgraded to windows 10 and even more will in a year, perhaps I may be one of them too. But the amount of people that will have an OS below windows 10 will still be significant.


Upgrade to 10 was free.

Indeed the code they introduce in the latest patch caused alot of issues for me. And apperently for other people aswell otherwise this topic would be non-existent.

Second of half, nice bait on the usages links. But they are really meaningless. Since it's only a percentage of a percentage of a percentage of that, that plays PoE. In otherws words enless GGG is feeling like realing info about Most Used Os, GPU - Dx11 / Dx12 comp., Ram, CPU. There is no point. The point I was referring too is that all people that I know who have decent rigs, seem to have some sort of stability issue with the game. Obv. that is not everyone.

You know whats bad for business? Constant crashes, lag and disconnects.

W7 is not more stable than W10. Quantify this plz.

Obv. games need to implement certain Dx12 features in order for them to be useful, yes.

Anyway my point was simple, keep current business at Dx9 and prepare for Dx12 and be future proof.



I understand that path of exile audience may be closer to steam statistics (you can see more people having windows 10 there) but I don't see why the majority of path of exile players will be so different that most of them will have expensive computers and have already upgraded to windows 10.

Sorry I don't have data to quantify the stability of windows 10, but so far I am having issues wind win10 (windows hanging etc). Surely this will change as the operating system matures and perhaps next year it will be much better, but for now I will stick to windows 7.

Dx12 might be more future proof but in order to use it GGG will probably risk losing or aggravating a lot of their customers in the meantime.
Good to know that something is done..2017 for 64bit/DX11 is a bit disappointing, tho.

And I really hope you do something about particle and ground effects sooner.
Playing on a potato notebook, torture chamber map with shocking ground, you lose 20+ fps moving between cleared rooms, just because of the amount of ground effects present.

..and please enable us to change quality/visibility of particle effects. Performance issues aside (well, not really), I'd really like to be able to see what the bloody hell is going on.
Keeping players informed is very important for any game's community. Thanks for the update.
I like the transparency :)
Path of Exile - RNG based hoarding simulator
V U L K A N W H E N
U L K A N W H E N
L K A N W H E N
K A N W H E N
A N W H E N
N W H E N
W H E N
H E N
E N
N
Good to see performance is worked on.

"
64-bit DirectX 11 Client
In the future we plan to release an alternate Path of Exile client that is compiled as a 64-bit executable and will use DirectX 11 rather than DirectX9. This client will require Windows Vista or above (and a 64-bit CPU). The old client will still work for Windows XP or 32 bit machines, but won't have the performance improvements that come with DirectX 11. This release is planned for 2017.


You guys should consider Vulkan. It should have similar functionality compared to DX12 in particular multi-threading, but unlike it will still run on older windows versions (as long the driver support is there).
In addition Vulkan would be a step towards for a native Max OS and Linux PoE client, since it isn't locked to windows (and in the case of DX12 locked to windows 10).
Last edited by Omega_k2 on Apr 6, 2016, 4:58:10 AM
Interesting read!

I'm on a Win 10 X64 machine and have POE installed on a SSD drive.

A am very pleased with the lockstep feature and the ongoing work on performance. I love that GGG is taking the effort the implement a new audio engine, a new asset management system and to develop a DX 11 X64 bit client. Information like this is important to me and makes me feel that GGG is operating very professionally and clever, not only content and balance wise but also technically!

Stuttering has been occurring very rarely when I first started to use lockstep (before Ascendency release), probably mostly because of latency spikes.

Lately I have been experiencing slightly more stuttering, though the game's still perfectly playable.

I now understand that some of these stutters are caused by loading assets into the memory, cause some of them are occurring on certain conditions like opening strongboxes. I hope the changes will reduce these type of stutters cause they can be pretty dangerous indeed...

Also I'm feeling that the initial loading screen that appears when starting up the game is showing a lot longer than it used to. I'm going to try and reinstall the game first to see if that helps.

Regarding the network issues between the gateways and the master servers: Why not pull up a secondary farm of master servers elsewhere so you can quickly switch master servers when a network issue with the primary master servers has been identified?

Last edited by Startkabels on Apr 6, 2016, 5:01:13 AM
"
gablona wrote:
thank you. anyone who says you dont care/ dont fix stuff is a fucking idiot. your free game will continue to get my financial support


+1 for this!

People think like yeaah I got a nice connection to MY provider so I got a perfect connection to every single fucking spot in the world...really, can't hear this shit. At some point it's an internal problem of GGG and their internal communication and potential server load (no doubt at all) but stop selling shit like the ISP is ALWAYS fine because you don't face the problem playing another online game or similar.

For example, together with my bro we play also other online games and in one case, I've been always disconnected when playing that game. Checked everything and complained a lot at my ISP to get some real technical guy and in the end it was a problem at the ISP.

I'm working for a global telecommunication company and some of you guys don't even have a single clue how much shit is going on about routing issues et cetera between the providers...as well as faulty routers/modems provided to you by your ISP. Got already the 3rd router within 2 years from my provider while the others caused irregular packet loss what also was a reason for my dc's at PoE.

Cheers

Good read - Looking forward to 64-bit client in 2017!

In terms of lockstep prevent desync it ALMOST does that - I still on occasion get out of sync and rubberbanded with certain abilities (Like Flicker Strike or rarely with Leap Slam). This is on a powerful pc with quick/stable internet usually sub 20ms depending on gateway.

Thanks for a great game! :)

Report Forum Post

Report Account:

Report Type

Additional Info