Star Sonata
http://forum.starsonata.com/

Beta client 290.377
http://forum.starsonata.com/viewtopic.php?f=9&t=60971
Page 1 of 5

Author:  Star Sonata Bot [ Wed Aug 05, 2015 3:16 pm ]
Post subject:  Beta client 290.377

Discussion topic for post: http://www.starsonata.com/blog/beta-client-290-377/



Known bugs:
(fixed) * Ship wriggle during movement sometimes.
(fixed) * Multipart ships have their scaling wrong (df, bulk, m3 etc)
(fixed) * ships are invisible and rendered in wrong location namely the center of the galaxy.
(fixed) * some projectiles are invisible (mt along others)
(fixed) * some vertice buffer appear to become corrupted when shooting or using submerger.
(fixed) * some objects end up rendering at 0,0 instead of their expected location.
(fixed) * Warping into jux / convourse / subspace shortcut sometime cause the ship to lose its position.
(fixed) * Some particles do not render properly causing a few weapons to look rather blend.
(fixed) * Glowing orbs (like in the center of perma warp beacon) are not rendering.

Author:  Markoz [ Wed Aug 05, 2015 4:26 pm ]
Post subject:  Re: Beta client 290.377

I dunno if the patch bot is working correctly atm for the beta client.

Image

Ah nvm I lie it worked but its version 290.149.

Author:  Jey123456 [ Wed Aug 05, 2015 4:50 pm ]
Post subject:  Re: Beta client 290.377

yes as mentioned in the blog, the update will be here by tomorrow. Still have a few ironing out to do, but at least it passed all my local tests now.

Author:  Markoz [ Wed Aug 05, 2015 4:53 pm ]
Post subject:  Re: Beta client 290.377

Jey123456 wrote:
yes as mentioned in the blog, the update will be here by tomorrow. Still have a few ironing out to do, but at least it passed all my local tests now.


my bad yeah, rhez told me after i reinstalled and everything. I got too excited lol

Author:  red395 [ Wed Aug 05, 2015 5:32 pm ]
Post subject:  Re: Beta client 290.377

Is there any new compatibility stuff for SS clients to run in Windows 10? At the moment, my clients freeze without crashing or closing after about a minute.

Author:  Jey123456 [ Wed Aug 05, 2015 5:33 pm ]
Post subject:  Re: Beta client 290.377

no altho i did find and fix quite a few low level errors that were simply silently ignored on win7/wine.

Maybe, just maybe it will help with win10. But since i do not own win10 i can't really test let alone debug it.

Author:  DarkSteel [ Wed Aug 05, 2015 5:36 pm ]
Post subject:  Re: Beta client 290.377

Is there a way for him to extract a dmp file out of a non-responsive client?

Author:  red395 [ Wed Aug 05, 2015 5:36 pm ]
Post subject:  Re: Beta client 290.377

Would there be any way to get information from my clients freezing or my computer to you?

Author:  Jey123456 [ Wed Aug 05, 2015 6:27 pm ]
Post subject:  Re: Beta client 290.377

I'm not sure if it work on windows 10. But you could try http://technet.microsoft.com/en-us/sysi ... 96900.aspx

Author:  Godsteel [ Thu Aug 06, 2015 2:04 am ]
Post subject:  Re: Beta client 290.377

I'm not sure how this is solved in DirectX, but in OpenGL sending data directly to the GPU was completely deprecated in favor of hardware buffers. Sending data directly should never ever happen because it increases number of calls between CPU and GPU which is a bottleneck.
I implemented particle engine in OpenGL for my bachelor's thesis btw.

A few tips I can think of:
Use instancing rendering whenever u can for particles. Don't send particles vertices, normals, UV to GPU for each particle. You only need to send vertices for one particle once to hardware buffer and then reuse those vertices for each particle.

Reduce data you send to the GPU to minimum - you only need to send position, rotation, scale. Calculate positions of billboard vertices in vertex shader (You need camera's right and up vector for that). In perfect world this data should be calculated and updated completely on GPU, but I don't think its viable in online game.

Pack your data, count bytes, optimize bandwidth. Round number of bytes (16, 32,... bytes) may be the best since addressing it in memory would be faster, but I didn't really test it in my particle engine.

Bullets of the same type has the same color, so you can save a lot of bandwidth if u reuse that. (You only need 4 byes for rgba color!!! unsigned byte will do perfectly, you don't need double or whatever for color). Some bullets also share same size, maybe there's place for another optimization here.

Always do hardware buffers.

Move calculations whenever u can to vertex shaders.

Square isn't perfect shape for a particle - one of the major problems with rendering lots of particles is GPU's fill rate. If you draw round particle on square billboard, pixel shader will process a lot of blank pixels. Adding a few more vertices will actually improve total performance by A LOT. Some script for generating convex hull for texture would be perfect.

Avoid GPU call's as much as you can, transferring data to buffers, binding uniform variables to shaders etc. Once again, I'm not sure about DirectX, but in OpenGL Uniform variables bound to shader program does not change if u change shader. So for variables like camera's right and up vector, you would only have to rebind new values if camera's vectors change ( mind that they hardly ever change during game, never for orthographic camera)

That's all I can think of atm. I hope it's helpful for you.

Author:  Markoz [ Thu Aug 06, 2015 2:46 am ]
Post subject:  Re: Beta client 290.377

Godsteel wrote:
I'm not sure how this is solved in DirectX.


I was poking DirectX cause maybe, I dunno windows 10 doesn't have the necessary directX DLLs. I was even more inclined to suggested as the DirectX package that came with Star Sonata didn't even work in Windows 10 (more testing required).

+ I wish Star Sonata used OpenGL, or I'm mistaken? :o

Author:  SlippX [ Thu Aug 06, 2015 3:00 am ]
Post subject:  Re: Beta client 290.377

It's working fine on Windows 10 here, though I'm still using the Tech Preview and haven't upgraded to the full one yet.

Author:  Jey123456 [ Thu Aug 06, 2015 7:26 am ]
Post subject:  Re: Beta client 290.377

the data is already reduced to the minimum, altho especially on d3d9 hardware buffer arent all that fast. If you only have 50-100 vertice to send and they are somewhat unique (as in you only send them once in the frame), then its actually faster to send them directly, than to use an hardware buffer.

We already use an hardware buffer on the particle engines. But the way our engine handle particles, a lot of the positioning and updates are done using the vertice and not the shader (partly because at low graphic, you have no shader in use at all, to support older hardware) but also because on d3d9 while shader are pretty fast, sending data to said shader is a slow process.

Our data to the gpu is already as packed as it can realistically be. We dont send all that much to it at all, the exception was those crazy bvb scenarion (20+ bases fighting 20+ bases) because then you end up with a number of projectiles way above what the client was designed for (with 10-20k projectiles floating in the galaxy at all time). At which point using an hardware buffer for their billboard endedup much faster than sending the data directly (even tho with the normal amount in the 100th its actually faster to send it directly)

Author:  Godsteel [ Thu Aug 06, 2015 11:36 am ]
Post subject:  Re: Beta client 290.377

Well DirectX shaders were introduced in like 2002 or before I think? I doubt support for 13+ yo hardware has any sense anymore tbh

Author:  Markoz [ Thu Aug 06, 2015 4:14 pm ]
Post subject:  Re: Beta client 290.377

Still no update :?

Page 1 of 5 All times are UTC - 5 hours
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/