CPU and Single Core Implications

General discussion regarding the OpenMW project.
For technical support, please use the Support subforum.
raven
Posts: 66
Joined: 26 May 2016, 09:54

Re: CPU and Single Core Implications

Post by raven »

With OpenGL 4.3 you can use glMultiDrawArraysIndirect/glMultiDrawElementsIndirect to achieve what MajinCry is suggesting.

How much of a performance increase you'll get will of course depend on the driver implementation of it.
User avatar
Lagahan
Posts: 47
Joined: 16 Aug 2014, 11:24
Location: Ireland

Re: CPU and Single Core Implications

Post by Lagahan »

psi29a wrote: 05 Dec 2017, 09:23 As I mentioned earlier, and was dismissed by Lagahan
I don't mean to dismiss it at all, its definitely still up there in frame time consumption in some places for lower end CPUs! :oops:
It was much improved for me with an update a while back, can't remember exactly which. There's definitely still a core at 100% most of the time and a chunk of that is probably that physics thread but the draw bar is huge in that video.
CMAugust wrote: 05 Dec 2017, 14:53 Well, you can't just throw a bigger GPU at draw calls can you? As Lagahan's video demonstrated, not even a GTX 1080ti can keep OpenMW with only a modest distance increase above 60 in the problem areas today.
The GPU usage % is down in the bottom left, it can hit upwards of 40% at times (the video is of 1440p gameplay after all) but it still has a fair bit of headroom that I usually take up with more resolution and loads of AA. Most of the delay is from draw calls I think. Again its a huge undertaking to fix so I'm in no way pushing for a fix, at least until well after 1.0.
Last edited by Lagahan on 05 Dec 2017, 19:29, edited 1 time in total.
User avatar
AnyOldName3
Posts: 2666
Joined: 26 Nov 2015, 03:25

Re: CPU and Single Core Implications

Post by AnyOldName3 »

Is the draw bar definitely entirely caused by CPU-side draw calls, or does it also include stuff like waiting for the GPU to actually draw what it's been told to?
User avatar
FiftyTifty
Posts: 63
Joined: 15 Oct 2014, 21:02

Re: CPU and Single Core Implications

Post by FiftyTifty »

raven wrote: 05 Dec 2017, 18:39 With OpenGL 4.3 you can use glMultiDrawArraysIndirect/glMultiDrawElementsIndirect to achieve what MajinCry is suggesting.

How much of a performance increase you'll get will of course depend on the driver implementation of it.
I do think it would be best for the devs to make contact with Boris Vorontsov; that guy lives and breathes renderer programming, so he'd be able to provide all the deets.

The performance increase on AMD's driver would be substantial. It's also relatively easy to parallelize, which would bring a huge benefit to all systems. Heck, I wouldn't be surprised if the FX 8350 makes the i7 2600k look anemic when a robust batching system is used.
User avatar
AnyOldName3
Posts: 2666
Joined: 26 Nov 2015, 03:25

Re: CPU and Single Core Implications

Post by AnyOldName3 »

Boris Vorontsov is also supposed to be a raging anti-semite from what I've heard (although I can't for the life of me remember where I heard that and a quick google didn't bring anything up, so I might be completely wrong), and he was once really mean to the Dolphin Emulator developers for essentially no reason when they were right and he was wrong. He may not be the kind of person we want to be associated with, despite his programming pedigree.
User avatar
Faelian
Posts: 25
Joined: 11 Jul 2013, 15:37

Re: CPU and Single Core Implications

Post by Faelian »

scrawl wrote: 05 Dec 2017, 15:20 If you have more room on the CPU, you add more different assets, if you have more room on the GPU, then you add more vertices, shaders, larger textures etc.

But as the game ages, advances in new GPUs tend to be much faster than in new CPUs, so it's only normal that older games will be limited by CPU.
Hmmm, that made me thinking that perhaps OpenCS could have a feature to combine selected assets into a single mesh?
Obviously Morrowind's meshes are very modular and very often simple objects are constructed from multiple meshes but after the placement in the editor is completed, we could group them (with the option to separate them later in case we need to change it) so that the engine treats them as a single mesh for rendering purposes?
I don't know how feasible that would be from techincal point of view, just throwing in a thought that grew in my mind.
CMAugust
Posts: 285
Joined: 10 Jan 2016, 00:13

Re: CPU and Single Core Implications

Post by CMAugust »

@AnyOldName After years browsing his forum and Facebook, I conclude that Boris is blunt, no-nonsense and has sometimes lost patience with people too easily or unnecessarily, but I wouldn't call him a bad person. It's been some time since I've seen him less than civil with other users, and he is reasonable more than not. The past altercation with Dolphin is unfortunate, but not the kind of sin that warrants being permanently shunned IMHO. As for antisemitism (which I've never heard about), I won't comment on rumor that may be untrue and possibly slander. Certainly he isn't known for that; indeed he's viewed in a highly positive light within the Elder Scrolls community and beyond, thanks to his outstanding graphical work across many games. If people hear that developers of an open-source engine for Morrowind were having discussions with the developer of ENB, I can't seeing it doing OpenMW harm - quite the opposite. In any case, it really wouldn't hurt just to ask.
User avatar
psi29a
Posts: 5355
Joined: 29 Sep 2011, 10:13
Location: Belgium
Gitlab profile: https://gitlab.com/psi29a/
Contact:

Re: CPU and Single Core Implications

Post by psi29a »

Slander is spoken, libel is written.
https://www.youtube.com/watch?v=XscaGDxuQqE

If there are citable sources, then it is no longer libel. Otherwise, it's FUD and we shouldn't add to the hearsay.
CMAugust
Posts: 285
Joined: 10 Jan 2016, 00:13

Re: CPU and Single Core Implications

Post by CMAugust »

psi29a wrote: 06 Dec 2017, 11:52 Slander is spoken, libel is written.
https://www.youtube.com/watch?v=XscaGDxuQqE
Hah... ok, that was funny. :)
Xenuria
Posts: 45
Joined: 26 Feb 2017, 22:35

Re: CPU and Single Core Implications

Post by Xenuria »

Idea: What if there was a total replacer that fixed every single mesh in the game and optimized meshes overall? What performance impact would that have? Would it move the bottleneck? Would it alter what you focused on in terms of engine?

Or would it be negligible?
Chris wrote: 04 Dec 2017, 23:13 Eh, no. Just because the game was buggy and easily exploitable doesn't mean that's the point of the game. That may be how you play, but veterans to a game often play differently than intended because they're so used to the mechanics (Morrowind/OpenMW isn't unique to this). It's also stated nowhere in the game that you become a god; in fact, the whole point of the MQ was for you to bring down the false gods because Azura didn't like upstarts, and Vivec purposely never taught you the final step to achieve apotheosis with the heart since you needed to destroy/banish it to stop Dagoth Ur.
ACTUALLY~ The heart never made real gods, not in any canon or any version of the game. It made false gods, by following the mono-myth the player character is one of the only characters in elder scrolls lore to become an actual god. Morrowind is the only modern game that I know of where becoming a god in the story was actually even remotely possible in the game mechanics and engine.

If you read the books and all the core canon not even the Deadra are gods, their apotheosis is contextual and just because they can see the "hidden values" and the spokes of the wheel like actual gods can dosn't mean they can effect it. To date the only entity in the Morrowind story that becomes a true deity is the player character. Because unlike all the pretenders the PC can actually CHANGE values directly, Vivec and the other false ones can SEE the console at the very edge of their vision if they strain. They can't effect it, only themselves and that is hamstrung by a faith req. They need consensus to be powerful and even they that battery needs a heart of another more powerful fake god to sustain.

Vivec can't do this otherwise he would have built his own damned city. https://www.youtube.com/watch?v=qH1UCn4Jc3s
Last edited by Xenuria on 06 Dec 2017, 13:05, edited 1 time in total.
Post Reply