These forums have been archived and are now read-only.

The new forums are live and can be found at https://forums.eveonline.com/

Player Features and Ideas Discussion

 
  • Topic is locked indefinitely.
 

Multithreading

Author
Vizvayu Koga
#1 - 2012-01-24 13:43:35 UTC  |  Edited by: Vizvayu Koga
When doing any operation like searching contracts, waiting for the market categories to load, docking/undocking, jumping through a gate... everything freezes up for a moment. That's so 90s... I'd like to see multithreading implemented or fixed, so the interface an the overall gameplay feels smoother. Like if I have an info window opening and that takes a while (downloading stuff I suppose), why is it that I can't keep browsing the market or doing something else at the same time? Each window, each process should run on it's own thread and the game interface (at least the local game interface, with the info that's already downloaded) should be responsive at all times, regardless of lag. This is specially annoying when doing long trips, since at every jump everything freezes up and you have to wait until all is loaded again only to move a single scrollbar or moving a window...
mxzf
Shovel Bros
#2 - 2012-01-24 15:51:01 UTC
Have you verified that it isn't, in fact, multithreaded already? I haven't checked on it specifically myself, but I had the impression that it was using more than one core of my CPU.
Vizvayu Koga
#3 - 2012-01-24 16:33:58 UTC
mxzf wrote:
Have you verified that it isn't, in fact, multithreaded already? I haven't checked on it specifically myself, but I had the impression that it was using more than one core of my CPU.


Well the UI isn't, or it's limited somehow. You can try any of the things I mentioned for yourself and see how they block the UI functionality for a moment. If a single window is waiting for a list of items (or contracts or whatever) the whole UI shouldn't get stuck and frozen, that's what I'm talking about. Let that window show the little animated icon so we understand it's loading but the rest of the UI should still work.
Fidelium Mortis
Minor Major Miners LLC
#4 - 2012-01-24 16:39:28 UTC
The game is already multi-threaded and actually does a decent job of spreading the load across multiple cores. The delay is probably due to a combination of pulling in the data from the server and processing.

ICRS - Intergalactic Certified Rocket Surgeon

Vizvayu Koga
#5 - 2012-01-24 16:53:30 UTC
Fidelium Mortis wrote:
The game is already multi-threaded and actually does a decent job of spreading the load across multiple cores. The delay is probably due to a combination of pulling in the data from the server and processing.


Well something is missing because I don't get that delays in any other game or application. In example, if one tab is loading in Chrome or Firefox I can still use other tabs, same with any other application. This is not the case in EVE, where if I have one window loading the whole UI get frozen until that single window gets the data.
Perhaps I should change the topic to "FIX Multithreading" to avoid wasting time discussing terms and words instead of the main issue...
Simi Kusoni
HelloKittyFanclub
#6 - 2012-01-24 18:07:32 UTC
Vizvayu Koga wrote:
Fidelium Mortis wrote:
The game is already multi-threaded and actually does a decent job of spreading the load across multiple cores. The delay is probably due to a combination of pulling in the data from the server and processing.


Well something is missing because I don't get that delays in any other game or application. In example, if one tab is loading in Chrome or Firefox I can still use other tabs, same with any other application. This is not the case in EVE, where if I have one window loading the whole UI get frozen until that single window gets the data.
Perhaps I should change the topic to "FIX Multithreading" to avoid wasting time discussing terms and words instead of the main issue...

Creating a smoother transition when going through a session change is a nice idea, but I think it would probably take a lot of work. As mentioned above this probably isn't due to issues with multi-threading, or any local processing, but rather the fact that certain UI elements are loading data from the server.

[center]"I don't troll, I just give overly blunt responses that annoy people who are wrong but don't want to admit it. It's not my fault that people have sensitive feelings"  -MXZF[/center]

Liandri Kamadachi
Cry Of Death
Almost Underdogs
#7 - 2012-01-24 19:45:25 UTC
Yes, but just because one window is pulling data from the server, doesn't mean that every other window has to freeze.

This would be a nice improvement to the UI.
Vizvayu Koga
#8 - 2012-01-24 19:49:53 UTC
Simi Kusoni wrote:
Vizvayu Koga wrote:
Fidelium Mortis wrote:
The game is already multi-threaded and actually does a decent job of spreading the load across multiple cores. The delay is probably due to a combination of pulling in the data from the server and processing.


Well something is missing because I don't get that delays in any other game or application. In example, if one tab is loading in Chrome or Firefox I can still use other tabs, same with any other application. This is not the case in EVE, where if I have one window loading the whole UI get frozen until that single window gets the data.
Perhaps I should change the topic to "FIX Multithreading" to avoid wasting time discussing terms and words instead of the main issue...

Creating a smoother transition when going through a session change is a nice idea, but I think it would probably take a lot of work. As mentioned above this probably isn't due to issues with multi-threading, or any local processing, but rather the fact that certain UI elements are loading data from the server.


1- Unless you are an EVE programmer you don't really know if this would take a lot of work. You're assuming it would, but many elements may be multithread already, maybe it's just a little detail that's blocking everything else... we don't know that, so I think it's better to just give our opinions on this subject and let the technical details to the developers.

2- The fact that a single UI element blocks the entire UI while loading data means there is indeed an issue with multithreading :)

Simi Kusoni
HelloKittyFanclub
#9 - 2012-01-24 20:01:49 UTC
Vizvayu Koga wrote:
1- Unless you are an EVE programmer you don't really know if this would take a lot of work. You're assuming it would, but many elements may be multithread already, maybe it's just a little detail that's blocking everything else... we don't know that, so I think it's better to just give our opinions on this subject and let the technical details to the developers.

2- The fact that a single UI element blocks the entire UI while loading data means there is indeed an issue with multithreading :)

I know, but it's usually worth pointing out when a proposal probably isn't something easily fixed. Some people never seem to understand that fact, and it must be pretty annoying as a dev to see a lot of "Why haven't you made this simple change?!" threads.

But yeah, again, this also isn't necessarily multi-threading related. For example say they wanted to keep the number of simultaneous requests from clients down, limiting clients to one request at a time (e.g. not letting you send a request for market data while requesting an assets list) would work pretty well.

There might be performance related reasons for this, or it might be a technical limitation server side. But I think assuming it is to do with something as simple as multi-threading on the client is a mistake, especially when looking at all my cores Eve is doing a pretty good job of spreading load across them when running.

[center]"I don't troll, I just give overly blunt responses that annoy people who are wrong but don't want to admit it. It's not my fault that people have sensitive feelings"  -MXZF[/center]

Vizvayu Koga
#10 - 2012-01-24 20:15:39 UTC
Simi Kusoni wrote:
Vizvayu Koga wrote:
1- Unless you are an EVE programmer you don't really know if this would take a lot of work. You're assuming it would, but many elements may be multithread already, maybe it's just a little detail that's blocking everything else... we don't know that, so I think it's better to just give our opinions on this subject and let the technical details to the developers.

2- The fact that a single UI element blocks the entire UI while loading data means there is indeed an issue with multithreading :)

I know, but it's usually worth pointing out when a proposal probably isn't something easily fixed. Some people never seem to understand that fact, and it must be pretty annoying as a dev to see a lot of "Why haven't you made this simple change?!" threads.

But yeah, again, this also isn't necessarily multi-threading related. For example say they wanted to keep the number of simultaneous requests from clients down, limiting clients to one request at a time (e.g. not letting you send a request for market data while requesting an assets list) would work pretty well.

There might be performance related reasons for this, or it might be a technical limitation server side. But I think assuming it is to do with something as simple as multi-threading on the client is a mistake, especially when looking at all my cores Eve is doing a pretty good job of spreading load across them when running.


Nah, there are much better ways to slow down the simultaneos queries to the server rather than freeze the whole UI. I am a programmer, I know what multithreading is and I've been using mutlthread systems since NT 3.51, and I can tell you this is not made on pourpose. Also, try something when you're docked: First open the task manager and leave it open on the performance tab. Now, back in EVE, open the market window and the contracts window, now try scrolling through the market list right after pressing "search" in the contract window. You can't. There's a momentary freeze and that shouldn't happen, we are in 2012 already, I mean, this is too "Windows 95".... if you check the task manager cpu history you'll see the cpu use is not even close to 100%, so this is not CPU limited, this behaviour is by design. If the client performance on local tasks (like moving a window or scrolling though a window with already gathered data) is affected by server lag, IMO that's a problem, not a feature.
And I'm not ignoring this may be hard to fix, I never said that (it may be really easy as well). But I do say that none of us (regular players) really know that, so we should focus on the issue at hand and leave technical details to the game devs. They will decide eventually if this is worth fixing or not.
Simi Kusoni
HelloKittyFanclub
#11 - 2012-01-24 21:42:43 UTC
Vizvayu Koga wrote:
I can tell you this is not made on purpose (...) this behaviour is by design.

Erm, k? Big smile

Vizvayu Koga wrote:
Also, try something when you're docked: First open the task manager and leave it open on the performance tab. Now, back in EVE, open the market window and the contracts window, now try scrolling through the market list right after pressing "search" in the contract window. You can't.

Hmm, actually it seems we may have been talking about different pauses. I thought you meant the pause that occurs sometimes when going through a session change, like jumping through a wormhole/gate/undocking etc. That's my bad for misreading your first post.

To be honest I've never experienced an issue like the one you've described, and I just tried and can't replicate it. Everything loads before I can click on another window or perform another action, I might try again at some point when I have a torrent running and try and see what you mean.

Vizvayu Koga wrote:
If the client performance on local tasks (like moving a window or scrolling though a window with already gathered data) is affected by server lag, IMO that's a problem, not a feature.
True, and it certainly does seem to be tied to latency. Well hopefully the devs can add it to their to do list Lol

Vizvayu Koga wrote:
And I'm not ignoring this may be hard to fix, I never said that (it may be really easy as well). But I do say that none of us (regular players) really know that, so we should focus on the issue at hand and leave technical details to the game devs. They will decide eventually if this is worth fixing or not.
Heh yeah, sorry, again I thought you were complaining about the lag between session changes so i put my "that's a silly proposal" hat on :D Guess that'll teach me to skim read posts at 3am.

[center]"I don't troll, I just give overly blunt responses that annoy people who are wrong but don't want to admit it. It's not my fault that people have sensitive feelings"  -MXZF[/center]

Vizvayu Koga
#12 - 2012-01-24 22:04:07 UTC
Simi Kusoni wrote:
Vizvayu Koga wrote:
I can tell you this is not made on purpose (...) this behaviour is by design.

Erm, k? Big smile


Yeah, that doesn't sound well Smile
I'll try to put it in other words: This is a side-effect/limitation of the design. Not a feature because it makes no sense as a feature.

Simi Kusoni wrote:

Hmm, actually it seems we may have been talking about different pauses. I thought you meant the pause that occurs sometimes when going through a session change, like jumping through a wormhole/gate/undocking etc. That's my bad for misreading your first post.

To be honest I've never experienced an issue like the one you've described, and I just tried and can't replicate it. Everything loads before I can click on another window or perform another action, I might try again at some point when I have a torrent running and try and see what you mean.


Well IMO it's the same kind of pause. When loading a contract or a market list the pause is shorter of course. But when we're jumping through a gate or entering a station, while it downloads the data for the new system or the station we're entering, why we cannot keep using the stuff we already have on screen? Like the notepad, or the calculator, or the browser...? It's the same thing. Those pauses, which are totally lag and download speed dependant, are unnecessary and to some of us, really annoying.
Vizvayu Koga
#13 - 2012-01-28 04:11:37 UTC
I wonder if this issue may be related somehow to Carbon IO...?
Does anyone knows if the client side of Carbon IO was ever activated?

Some reference:
http://www.eveonline.com/devblog.asp?a=blog&bid=925
http://www.eveonline.com/iNgameboard.asp?a=topic&threadID=1531956 (check out post #111)
ZaBob
The Scope
Gallente Federation
#14 - 2012-01-28 06:39:10 UTC
I absolutely cannot reproduce the phenomenon described.

It's hard to even test it, because for me, contract search is pretty darned quick, but with careful setup, i'm able to start a search, swtich to the Market, and scroll the market data listing while the contract window is still showing its wait/busy cursor.

I wonder if it's platform-dependent somehow? I'm on Windows 7.

I know I used to see a whole lot of needlessly modal stuff, but they've fixed most of that.

And a lot of windows have little busy cursors that go on while you go off and do other things. They even get stuck sometimes.

So I wonder if there's something more specific about the issue you're seeing. Platform difference is just the first one that comes to mind.
Vizvayu Koga
#15 - 2012-01-28 14:10:20 UTC  |  Edited by: Vizvayu Koga
ZaBob wrote:
I absolutely cannot reproduce the phenomenon described.

It's hard to even test it, because for me, contract search is pretty darned quick, but with careful setup, i'm able to start a search, swtich to the Market, and scroll the market data listing while the contract window is still showing its wait/busy cursor.

I wonder if it's platform-dependent somehow? I'm on Windows 7.

I know I used to see a whole lot of needlessly modal stuff, but they've fixed most of that.

And a lot of windows have little busy cursors that go on while you go off and do other things. They even get stuck sometimes.

So I wonder if there's something more specific about the issue you're seeing. Platform difference is just the first one that comes to mind.


Did you try something like moving a window around or scrolling though contracts while jumping? It's easier to see it in those cases because the game needs to download more data, and this issue seems to be lag dependant.

Not likely to be a plataform dependant at all, looks like a design issue to me. I'm on Win7 too btw.

EDIT: This is usually more noticeable (aka annoying) when you have a lot of market buy/sell orders (+30). Keep the wallet and market windows open at the same time and start checking prices.
Decus Revaen
Caldari Provisions
Caldari State
#16 - 2012-01-28 19:22:38 UTC  |  Edited by: Decus Revaen
I, like ZaBob, cannot seem to reproduce this issue you have described. While cannot think of any issue with their code that would cause this problem as my experience with programming languages is extremely limited. The most likely cause that i can think of is your rig that you are running the game on or your internet speed. I have posted my rig's specifications below so you may compare.

AMD 3.2ghz Quad Core Processor
12gb 1600 DDR3 RAM
XFX Radeon 5850 GPU
Windows 7 64-Bit
Vizvayu Koga
#17 - 2012-01-28 19:58:38 UTC
Decus Revaen wrote:
I, like ZaBob, cannot seem to reproduce this issue you have described. While cannot think of any issue with their code that would cause this problem as my experience with programming languages is extremely limited. The most likely cause that i can think of is your rig that you are running the game on or your internet speed. I have posted my rig's specifications below so you may compare.

AMD 3.2ghz Quad Core Processor
12gb 1600 DDR3 RAM
XFX Radeon 5850 GPU
Windows 7 64-Bit


So you're saying that you can move windows or scroll though windows while jumping to another system? Are you absolutely sure of that?
This seems to be related to the internet speed, yes. But just related, this means that the internet speed is not the cause of the problem, but the problem is more noticeable with a slow connection. And it's definitely not tied up to the computer specs in any way.