Skip to main content

KorGE 1.12.8.0: Huge Optimizations!



There is a new version of KorGE available now!

This version includes a lot of optimizations done to make all the targets faster, specially on Kotlin/Native.

We have rewritten the view's components system to be much faster and we have done tons of optimizations to reduce overhead of Kotlin/Native.

Before this version, the 10.000 sprites sample Nico Emig did, was terribly slow on Kotlin/Native. After profiling a bit we found a few places worth optimizing, and with a few changes in all the libraries, we got it working much faster. It is still not as fast as the JVM counterpart, but much closer than before.

Also a few versions ago, the Kotlin/JS optimization for instance checkings stopped from being applied due to a slight change in the output of the kotlin.js runtime. This version enables it again, making the JS target much faster than before.

After the profiling, we noticed that moving the mouse in the 10K sample caused the game from pause for a long time. This was the components system trying to propagate the mouse event to all those views. We have done a lots of optimizations here, and now that pause has totally gone away.

So far, this is the fastest version of KorGE to the date! Go ahead and try it. Just use 1.12.8.0 as your korge-gradle-plugin version.

Comments

  1. Borgata Hotel Casino & Spa - Mapyro
    Find the 고양 출장샵 best Borgata 의왕 출장마사지 Hotel Casino & Spa location in Atlantic City and get directions, reviews and 남양주 출장샵 information for your trip. 고양 출장마사지 Rating: 3 · ‎1 review 의왕 출장안마

    ReplyDelete

Post a Comment

Popular posts from this blog

KorGE Tutorial - Writing 2048 game. Step 0 - Introduction

KorGE  is an  open source  multiplatform game engine written in Kotlin . You can use it to develop your own games of various genres targeting JVM, Web, Android and iOS. In this tutorial I will guide you through the steps of writing a 2048 game using KorGE and Kotlin. You can check the resulting game  here . The source code is  on GitHub . This tutorial will have several parts - steps. In them, we will discuss the following features of KorGE: Views and graphics Text and images Positioning Mouse and keyboard events Animation Native Storage and more! Well, let's get started! Note: you need to install Java JDK and Intellij IDEA before start. Creating new project First, we need to create a new project for our game. There are two ways to do it: 1. Using KorGE Intellij plugin KorGE provides an IntelliJ plugin, that allows you to create KorGE projects. You can read this guide  or watch this video to know how to install the plugin and create a new

KorGE 1st Game Jam - 12-June - 14-June

Some updates about the KorGE organization: After a few years in development and lots of fixes and improvements, KorGE is getting mature. In April, Mikhail Reznichenko  and Nicolai Emig joined the KorGE organization. Mikhail Reznichenko, our member from Russia, has mostly worked on the technical part of KorGE and other korlibs and has given support at slack, he has done a remarkable work on the UI and other parts of the engine, helped with the intelliJ plugin and also created a 2048 clone as a sample of using KorGE. Nicolai Emig, our member from Germany, created an educational wrapper around KorGE and he is teaching it to his students, he has helped at slack, promoting the engine, and additionally he has contributed to the core with ideas and code including Sprite Animations and some samples to the core, he has also helped with organization of the Game JAM. In addition,  Tamara Gadea , joined as a sporadic contributor helping us some graphical assets, including the on

KorGE Tutorial - Writing 2048 game. Step 1 - Views

In the previous step we have created and configured a KorGE project for our game. In this step, we'll discuss KorGE's views and their positioning. We will also fill our stage with static elements using views, such as Graphics , Container , RoundRect , Text and Image . At the end of this step we will have the following result: So let's start! Views and containers View structure in KorGE is based on two types of elements: views and containers. A container is a view that can have other views as children. During rendering, KorGE goes through the elements of the root container (the game scene) and draws them in the order they're added to the view structure. The element added first will be covered by the other element added after it and overlapping it: Each view has a size ( width and height ) and a position ( x and y ). Width and height  determine the size of the rectangle bounding this view, x and y  determine its position inside the parent container. Main sizes Befor