Monday, 4 November 2019


    Blue Stacks is an American technology company that produces the BlueStacks App Player and other cloud-based cross-platform products. The BlueStacks App Player is designed to enable Android applications to run on PCs running Microsoft Windows and Apple's macOS. The company was founded in 2009 by Jay Vaishnav, Suman Saraf, and Rosen Sharma, former CTO at McAfee and a board member of Blue stacks.
    But there is a catch to this: What should the main thread do while the rendering thread is drawing? We don’t want it to simply wait for the drawing to finish, because that would be no faster than performing all the actions on one thread. The way this problem is solved is by having the rendering thread always lag one frame behind the main thread. So every frame, the main thread is updating the world while the rendering thread draws the results of the last main thread update.

App Player

    The App Player is downloadable Windows and macOS software that virtualizes an Android Operating System. The software's basic features are free to download and use. Advanced optional features require a paid monthly subscription. The company claims the App Player can run 1.5 million Android apps as of November 2019. As of November 2019, more than 210 million have downloaded Blue Stacks. App Player features mouse, keyboard, and external touch pad controls.  

Game play on Emulator

    In order for this to work, the main game loop thread must be changed so it processes all inputs, updates the game world, and outputs anything other than the graphics. It then must hand off any relevant data to a secondary rendering thread, which can then draw all the graphics.
If a particular game relies on extremely quick response time, including fighting games such as Street Fighter, this increased input lag may be deemed unacceptable. But for most other genres, the increased lag may not be particularly noticeable. Several other factors increase input lag. The game loop can be one of these factors, and some, like the display lag most LCD panels have, might be out of the programmer’s control. For more information on this topic, check the references at the end of this chapter, which includes an interesting set of articles on the topic of measuring and solving input lag in games.


All of the major consoles, most new PCs, and even some mobile devices now feature multicore CPUs. In order to achieve maximum performance on such systems, the BlueStacks should be designed to harness all available cores. Several different methods take advantage of multiple cores, but most are well beyond the scope of this book. However, multi threaded programming is something that has become prevalent in video games, so it bears mentioning at least one basic multi threaded Blue Stacks technique.


Post a Comment