Jump to content


  • Content Count

  • Joined

  • Last visited

About shlajin

  • Rank

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. > There's also fromUrl() that returns promise, might help I'll check it out, thanks! > I dont envy you It turns out to be not that complex. I created a small very framework which can enqueue jobs and process them until they are ready (and taking pauses in between jobs if applicable). After measuring what takes the most time I found out that for graphics I should do the drawing commands, and then call geometry `updateBatches`. After that rendering happens pretty fast, so I just have to run these as a "background job" before showing the result to the end user (I use `a
  2. Ok, I've been running tests for the past few hours / reading through pixi code, and that's what I found: - `_render` method of DisplayObject's indeed might finish long before all children get fully rendered. I guess I could tap into (aka inherit) every pixi class and patch the `_render` method to fire an event when they finish render, or... - I can ditch the pixi's convenience `Application` (or swap ticker / do not auto-start the app) and call `render` manually (the `this.renderer.render(this.stage);` part). The only caveat I found so far is that resources have to be full
  3. Sheesh, could not seen that coming – I thought it's rather trivial to get moment when scene is rendered... Sure, thanks! It's like a promo-app where you can customize an existing movie. Animation is done via Adobe Animate, then exported via pixi-animate extension plugin, and then played by a custom lib. When the customization is done, user can export the movie (via https://github.com/thenickdude/webm-writer-js). Due to distribution policy, the app will be used only in chrome environment (likely an electron app). So naturally, there are 2 different states of the app: - Ed
  4. Well, I’m oversimplifying things for this example. Render texture might not work, as I need to scale graphics without making them look “bad” (like raster graphics). My latest idea is to mark all graphic instances as dirty which recently received a draw command, then tap into their “render” function and wait until they finish. It works (haven’t ran excessive test yet, would love to hear your opinion whether it may work or not), but it still does not solve the issue of lag during draw. How are the “draw instructions” called - maybe I can inherit from graphics and delay the work somehow?
  5. Hey! I have a very complex shape (graphics) I need to render. From what I understand, when any calls to PIXI.graphics happen, they all queue and execute later. I made this little playground to illustrate (take a look at the console) – it prints "End drawing" before the graphics appear on screen. https://www.pixiplayground.com/#/edit/ZOYSkl3-FaUuWmrjNlGSW I need to copy pixels from the canvas, so I absolutely need to find that moment when "everything is ready and ready to roll". My second problem is that ideally, I would love to make browser not hang during the painting. Usuall
  6. That's amazing news. Looking forward to try it out!
  7. Just wanted to say that your work is very much appreciated! Do you have a rough idea when it's going to happen? I'm on a waitlist for it since the initial release of v5 😁
  8. Very nice, thank you for the great job! I use 4.7, so this library works great as a starting point for me. Thank you for CLI tools also, really helpful
  9. I found a demo of MSDF and the animation looks amazingly smooth! That's what I needed, thank you so much for the keyword to google For any others wondering, this what I found https://github.com/soimy/pixi-msdf-text
  10. Thank you for your response. SDF Text doesn't seem to fit my goals, unfortunately. I made a quick video where I animate the text using this package and, as you see, on smaller font sizes it has some extra-sharpness artifacts. Same as if I go with big fontSize and just scale it down via `scale.x / scale.y`. Tried with antialias on and off, no real difference That's what I did for now – I took the middle between the largest and the smallest sizes, so if text animates from 80 to 160, I use fontSize of 120. This ensures that the text doesn't look too bad when it's big and w
  11. Hey there! I'm trying to scale text during animation (namely – during camera zooming) while keeping it smooth & sharp. Scaling with `.scale` doesn't work well for this case – text gets pixelated, so I went with redrawing the text by changing the text style `fontSize` property. This is slow, but this isn't shown to the user in real-time, so I don't care about FPS during that. The problem with this approach is that text shakes/shivers during the animation. This doesn't happen when I animate `.scale` property and I want to avoid that. So I tried different approach: I creat
  12. That's starting to get crazier. I tried to make an illustration of how memory consumption increases, but ended with a demo how it doesn't get consumed at all: Here's the playground: VRAM stays at 12 MB constantly on my machine https://www.pixiplayground.com/#/edit/qT4ZDt3fV02z51_gdHC7X
  13. I do believe you though Debugging is easy with some understanding which metrics I should observe... At this point I just don't understand how is it possible: why things loaded via PIXI.loader increase my GPU usage, while creating & using textures via new BaseTexture don't
  14. These are interesting points! That's what I do on a daily basis I'm mostly concerned that I'm not cleaning things up from VRAM, since I can't easily analyse it. However, you've mentioned... nothing happens when I hit shift+escape (I assume that it may be because you're on windows and I'm on mac). Are you referring to this http://take.ms/ur0Nn ? The problem with it is that I don't think it lists memory consumption correctly. Or, most likely, I get things wrong... If I create `HTMLImageElement` on my own, load image there, then create `PIXI.BaseTexture` and load texture the
  15. Hey there! I have a huge spritesheet which I load with `PIXI.loader.add('descriptor.json')`. It works great, however, I want to release memory after I used it and I can't find the right method for it. I can access it (and it's base texture) via `PIXI.loader.resources` dictionary and run `.destroy(true)` on every texture, and then delete values from the hash. However, I'm not sure that this is intended approach and I have OCD that I'm doing things wrong. So, what's the right way? Any advice would be highly appreciated! PS: If I understand how things work, this spritesheet
  • Create New...