Ejemplo n.º 1
0
            public AnimatedTexture GetAnimatedTexture()
            {
                var decoder = new MG.GIF.Decoder(Request.downloadHandler.data);
                var img     = decoder.NextImage();
                var anim    = new AnimatedTexture(URL);

                while (img != null)
                {
                    anim.Add(img.CreateTexture(), img.Delay / 1000.0f);
                    img = decoder.NextImage();
                }

                return(anim);
            }
Ejemplo n.º 2
0
        static void Main(string[] args)
        {
            var dir       = @"..\..\..\..\Assets\StreamingAssets";
            var filenames = Directory.GetFiles(dir, "*.gif");
            var filedata  = (from file in filenames select File.ReadAllBytes(file)).ToArray();

            int  count      = 0;
            long sum        = 0;
            long sumSquares = 0;

            var decoder = new MG.GIF.Decoder();

            while (true)
            {
                var sw = new Stopwatch();

                sw.Start();

                foreach (var file in filedata)
                {
                    decoder.Load(file);

                    var img = decoder.NextImage();

                    while (img != null)
                    {
                        img = decoder.NextImage();
                    }
                }

                sw.Stop();

                count++;

                sum        += sw.ElapsedMilliseconds;
                sumSquares += sw.ElapsedMilliseconds * sw.ElapsedMilliseconds;

                var average  = (float)sum / count;
                var variance = sumSquares / count - average * average;

                Console.WriteLine($"[{count:00}]: av {average:0.0}ms, sd {Math.Sqrt( variance ):0.0} - {sw.ElapsedMilliseconds}ms");

                break;
            }
        }