OK I solved my problem.

Culling foodElements (little green circles) to the screen led to less webgl 
calls which solved the smoothness problem.

Webgl api calls are costly. Maybe a a way to reduce the number of calls in 
my case could have been to use a geometry shader to instantiate multiple 
food elements. Anyway culling at application level works fine.

Thanks for your help.

Le samedi 5 novembre 2016 11:27:52 UTC+1, Gaëtan André a écrit :
>
> viewGrid was reworked as you suggested (cf. gist) but the the problem is 
> still the same.
>
> Sorry I had not share the cpu profiles from Chrome the first time, I do it 
> now. As you can see, the problem is that sometimes, a loop call takes a lot 
> longer than others to compute (because of gc it seems).
>
> On Chrome it is basically annoying but still playable, on Firefox it is 
> not playable.
>
> Thanks,
>
> Le jeudi 3 novembre 2016 02:33:35 UTC+1, Nick H a écrit :
>>
>> I am guessing your viewGrid function is slowing your code down. This 
>> function is creating a new mesh and passing it to the GPU on every 
>> animation frame.
>>
>> The solution is to make sure your WebGL.Drawable (line 465, where it says 
>> "GL.Lines gridPoints") is a constant. So extract that into its own 
>> top-level declaration, as you have done with "mesh."
>>
>> On Wed, Nov 2, 2016 at 1:30 PM, Gaëtan André <[email protected]> wrote:
>>
>>> Hello everybody,
>>>
>>> I am working on cloning Agar.io (https://agar.io/) using functionnal 
>>> languages. 
>>> Everything was going well except that my cell movements are not very 
>>> smooth. 
>>> I first blamed the network connection, but after hacking a standalone 
>>> front-end it seems like Elm might have something to do with it.
>>>
>>> From were I am, I don't know where to go to improve fluidity.
>>>
>>> I am subscribing to AnimationFrame.diffs to give the pace of the render 
>>> loop.
>>>
>>> Here is a gist of my code:
>>> https://gist.github.com/rvlander/0b956d5d8d0a70f37f6206cb6f9af367
>>>
>>> Thanks,
>>>
>>> -- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "Elm Discuss" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to [email protected].
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>

-- 
You received this message because you are subscribed to the Google Groups "Elm 
Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to