Client performance update thread

Forum for alternative clients, mods & discussions on the same.

Re: Client performance update thread

Postby loftar » Thu Aug 02, 2018 6:36 pm

sMartins wrote:Yeah, yeah .... I was just wondering if the boost in perfomances would allow us to have full rendering at the actual max distance in the vanilla client.

Hmm, not sure what you imagine to be the "max distance". The client always renders everything it knows about, quite simply. As long as :cam ortho is used, popping should be very minimal, I think, though it does of course depend on the resolution used, which is a bit of an open problem. Admittedly, I tend to run my own client at fairly low resolution (only 1280x1024), so perhaps I don't notice it as much as I should.

sMartins wrote:Do you think you'll do the same in the future? Old version on opengl and new version on Vulkan, that will require refinements, etc.. with time?

The idea is that the Vulkan and OpenGL versions can live together in the same client, with just an option to switch between them, even during development of the Vulkan backend.
"Object-oriented design is the roman numerals of computing." -- Rob Pike
User avatar
loftar
 
Posts: 7369
Joined: Fri Apr 03, 2009 7:05 am

Re: Client performance update thread

Postby sMartins » Thu Aug 02, 2018 7:02 pm

I see, thx. (yeah, max distance I was meaning the actual max distance you can zoom out the default camera, so, in short it's the camera that has to be adjusted with the resolution .... not the rendering that of course it's always the same, I see, same thing of the UI).
I only logged in to say this sentence. by neeco » 30 Oct 2018, 02:57
Default Client, Best Client!
User avatar
sMartins
 
Posts: 2265
Joined: Wed Nov 11, 2015 10:21 pm
Location: Italy

Re: Client performance update thread

Postby Jalpha » Fri Aug 03, 2018 8:41 am

loftar wrote:I'm trying to weave the fabric of the universe here.


Seems epic. I interpret these two threads as saying you're doing some pretty groundbreaking and thankless labour. That the external support which would make this easier is not there. Also that while you have overcome a substantial portion of the task there is still a lot of work to do, and then the pieces will still need to be stitched together.

Kind of the answer I was hoping for. Looking forward to the time when I can make the current world more interesting.

Thanks for providing a brief and detailed explanation (education) on your work.
Time only exists in the presence of mass.

Don't listen to your parents.
User avatar
Jalpha
 
Posts: 1197
Joined: Thu Aug 22, 2013 12:16 pm

Re: Client performance update thread

Postby shubla » Sat Aug 18, 2018 9:38 pm

loftar wrote: As mentioned in the rant thread, one of the main allures of Vulkan is the ability to reuse constructed command-lists, which holds the possibility to pretty much remove dispatch overhead altogether, so that's clearly the way to go for the future.

I think that because of this HnH should definitely switch to Vulkan as soon as possible. I think that this gives the ability to use multiple cores for graphics at the same time, which OpenGL is unable to do. I guess that there may be a lot of work with synchronizing it all properly but it pays off for sure with the new processors having 4, 8, or even 16 cores, using only one of them is a waste!
Image
I got my own cool HnH custom client check it out.
Purus Pasta
http://i.imgur.com/CRrirds.png?1
User avatar
shubla
 
Posts: 9846
Joined: Sun Nov 03, 2013 11:26 am
Location: Finland

Re: Client performance update thread

Postby Jalpha » Sun Aug 19, 2018 8:06 am

What kind of hardware is the average player using though? Do the people with the worst issues even have a bunch of cores?

There's player ignorance as well... I spent a month or so playing and didn't realise java was automatically running off on board graphics not my fancy GPU. I guarantee a lot of people have been doing the same thing.

Only reason I realised was the messed up frame-rate in my recordings.
Time only exists in the presence of mass.

Don't listen to your parents.
User avatar
Jalpha
 
Posts: 1197
Joined: Thu Aug 22, 2013 12:16 pm

Re: Client performance update thread

Postby shubla » Sun Aug 19, 2018 8:34 am

Jalpha wrote:What kind of hardware is the average player using though? Do the people with the worst issues even have a bunch of cores?

There's player ignorance as well... I spent a month or so playing and didn't realise java was automatically running off on board graphics not my fancy GPU. I guarantee a lot of people have been doing the same thing.

Only reason I realised was the messed up frame-rate in my recordings.

Image
Steam has some statistics about hardware, of course, they dont picture computers of HnH audience at all, due to various reasons.
But we can say that having 4 or more cores is pretty much the standard these days, for new computers at least. (excluding cheap laptops, which are almost always dual-core, but cheap laptops have other things as bottleneck than cpu, like integrated gpu)
Image
I got my own cool HnH custom client check it out.
Purus Pasta
http://i.imgur.com/CRrirds.png?1
User avatar
shubla
 
Posts: 9846
Joined: Sun Nov 03, 2013 11:26 am
Location: Finland

Re: Client performance update thread

Postby loftar » Sun Aug 19, 2018 9:35 pm

shubla wrote:I think that this gives the ability to use multiple cores for graphics at the same time, which OpenGL is unable to do.

Vulkan does allow constructing multiple command lists in parallel, but the main point of this is that you wouldn't even need to.
"Object-oriented design is the roman numerals of computing." -- Rob Pike
User avatar
loftar
 
Posts: 7369
Joined: Fri Apr 03, 2009 7:05 am

Re: Client performance update thread

Postby loftar » Mon Sep 24, 2018 3:28 am

Just a small update, I guess:
ss.jpeg
ss.jpeg (701.99 KiB) Viewed 1492 times

Some things that this illustrates since the OP: The persistent-mode renderer demonstrably works, game objects can be received from the server and rendered (providing all their supporting rendering has been converted, which is not the case for everything), the map can be built and rendered, meshes and materials can be loaded and processed asynchronously (it could be done in a more parallel manner, but that's not incredibly important) and various rendering settings required to render the above objects have been converted. What I'm currently working on is click-testing.

As a general reflection, I tend to try and avoid dissimilar data structures that are linked to each other and need to be kept synchronized through the various transitions they may undergo, because it tends to lead to very subtle and hard-to-find bugs in the (often quite substantial) conversion logic. That is pretty much what defines this rewrite however (being as how the whole point is to map abstract graphical descriptions to OpenGL commands with the minimum amount of work required to reflect small changes in the former to the latter), and much as expected it has already had its share of such bugs. The bugs themselves are often simple and easy to fix, but actually finding them really takes time. Let's just hope they stay gone once they're fixed, I guess.
"Object-oriented design is the roman numerals of computing." -- Rob Pike
User avatar
loftar
 
Posts: 7369
Joined: Fri Apr 03, 2009 7:05 am

Re: Client performance update thread

Postby Finigini » Mon Sep 24, 2018 5:37 am

Slowly but surely. Thank you for your hard work!
User avatar
Finigini
 
Posts: 142
Joined: Sat Mar 19, 2011 5:03 am

Re: Client performance update thread

Postby Clenda » Wed Sep 26, 2018 12:55 pm

Finigini wrote:Slowly but surely. Thank you for your hard work!


+1
User avatar
Clenda
 
Posts: 32
Joined: Sat Mar 11, 2017 9:41 pm

PreviousNext

Return to The Wizards' Tower

Who is online

Users browsing this forum: No registered users and 4 guests