Optimizing Android* Game mTricks Looting Crown on the Intel® Atom™ Platform

When you start to optimize a game, first determine where the application bottleneck is. Intel GPA can help you do this with some powerful analytic tools.If your game is CPU bound, then Intel VTune Amplifier is a helpful tool. If your game is GPU bound, then you can find more detail using Intel GPA.To fix GPU bottlenecks, you can try to find an efficient way of reducing draw calls, polygon count, and render state changes. You can also check the right size of terrain texture, animation objects, light maps, and the right order of z-buffer culling.
  • Sviluppatori
  • Android*
  • Android*
  • Graphics Performance Analyzers
  • game optimization
  • Intel GPA
  • cpu
  • GPU
  • Sviluppo di videogame
  • Ottimizzazione
  • internal error: bad pointer

    my code is this: ---------------------------------------------------------------------------------------------- #include class TEST{ public: double *A; public: TEST(double * _A){ A = _A; #pragma offload_transfer target(mic:0) nocopy(this : alloc_if(1) free_if(0)) in(A:length(2*3) alloc_if(1) free_if(0)) } void run(){ A[1] = 0; // double *B = A; std::cout<

    Intel C++ compiler produces a HUGE code


    I'm spending way too much time comparing MSVC and Intel C++ compiler. My current results are that MSVC generates sometimes better code, sometimes worse, but if it is better, than it's just a little, but if it is worse, the proportions are worse. Since my code is highly dependent on floating point signal processing, I assume the better vectorization and AVX dispatching could be the reason. So I'm keen on switching to Intel compiler.

    Is pointer aliasing a problem if the pointers are the same?


    consider this functions intended for vectorization:

    void AddSqr(float* restrict dst, float* restrict src, int cnt)
    for (int i=0; i<cnt; i++) dst[i] = src[i] * src[i];

    This would work if the src & dst are not aliased of course. But what if src == dst? Extreme cases such as src == dst+1 are not allowed of course. But if the pointers are the same, there shouldn't be a problem, or am I missing something?

    Too much memory was occupied with sample_decode



    Here comes a problem related to the example sample_decode.

    When the sample_decode was called to decode 1080p video stream, I found that lots of memory (about 90Mb) would be occured and when 10 streams were decoded parallel the situation would be 1Gb occured, memory consumption seems to be increasing linearity.

    Is this situation abnormal ? Am I called the example without dispatching appropriately ? If there's any reasonable plan for multi-decoding in one single process to decrease the memory consumption?  that's what makes me confused.

    timing is different each time

    Hello ,

    I wrote a simple application on cpu and I am using offload pragmas for the pieces I want to run on the coprocessors.

    Since I am compiling on cpu and I use offloads , I am using :

    <code>export MIC_ENV_PREFIX=MIC
    export MIC_OMP_NUM_THREADS=120

    in order to specify the threads number.

    My problems:

    1) Running the code , shows always 40 threads been used.

    2) Running again and again the code without compiling , I am getting different time results.

    Error Return of SyncOperation

    Hi all,

    I encounter a return error MFX_ERR_DEVICE_FAILED from SyncOperation during 264 long time encode.

    There is also no bitstream output when error appears.

    Below is the platform info.

    Is this a known issue on this platform?


    OS: Windows 7 Ultimate sp1 64bit

    Motherboard : Intel DH61AG

    BIOS version : ACRSYS - 28

    Processor : Intel(R) Core(TM) i5-3470S CPU @ 2.90GHz

    RAM : 6 GB

    Graphic Driver version :




    Iscriversi a Ottimizzazione