Giter VIP home page Giter VIP logo

Comments (4)

kobalicek avatar kobalicek commented on May 27, 2024

I think you misunderstood how these flags work, there are two kind of macros:

  • BL_BUILD_OPT_XXX - These macros define supported CPU features above baseline by the build.
  • BL_TARGET_OPT_XXX - These macros define actual CPU features for the compilation unit.

Thus, defining BL_BUILD_OPT_AVX2 means that Blend2D would support some AVX2 optimized functions, but won't rely on AVX2 presence, whereas BL_TARGET_OPT_AVX2 means that at the moment the compilation unit requires AVX2, which is used by all files with _avx2.cpp suffix.

Blend2D baseline optimization level is SSE2, anything above is dispatched at runtime.

from blend2d.

iryont avatar iryont commented on May 27, 2024

I thought I did misunderstand it, thankfully. I'm glad to hear that.

Appreciated the answer. SSE2 as baseline is fine because I will be compiling for x64 anyway, so kind of implicit.

One more question though, I did see on the website the multithreaded rendering is still being worked on. Is it within the repository or not published as of yet? I'm asking because I've seen BLContextCreateInfo::threadCount and I wonder whether it is useful right now or a placeholder.

from blend2d.

kobalicek avatar kobalicek commented on May 27, 2024

MT rendering is not ready yet and you should see BLContextCreateInfo as something that would make more sense in the future. At the moment threadCount makes no difference. I'm usually developing such features privately and once I'm confident that the stability is okay I push them to master for community testing and feedback.

from blend2d.

iryont avatar iryont commented on May 27, 2024

Understood. I was going through the code seeing some static class which called blRuntimeInit which then acquired amount of threads based on the CPU and fed it into BLRuntimeContext, but I couldn't find any use of it.

That being the case, I'm looking forward to it. I will be soon trying Blend2D for a 2D game with a lot of drawcalls and sprites. I have already backends of OpenGL, DirectX and SDL2 (which has its own software renderer, but it isn't optimized very well). I kind of hope Blend2D will turn out better than SDL2 software renderer.

from blend2d.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.