Jump to content
  • Sky
  • Blueberry
  • Slate
  • Blackcurrant
  • Watermelon
  • Strawberry
  • Orange
  • Banana
  • Apple
  • Emerald
  • Chocolate
  • Charcoal


  • Content Count

  • Joined

  • Last visited

  • Days Won


Piorjade last won the day on September 7 2018

Piorjade had the most liked content!

About Piorjade

  • Rank
    Junior Member

Recent Profile Visitors

490 profile views
  1. Piorjade

    Efficient way of drawing syntax highlighting

    The most efficient way that I know of would probably be double buffering. (The reason for that being the fact that direct GPU calls like set or setForeground take a certain amount of time depending on the tier and a good double buffering API has an algorithm that minimizes the amount of GPU calls) On the other hand I don't know if that's actually necessary for a text editor.
  2. Piorjade

    advancedLoader - Better BIOS

    Looks nice dude! This might get useful to me when I try to make my own OS. P.S. It's nice to see users from CC on here
  3. Piorjade

    make opencomputers processors faster

    I'm not interested in reading up posts which consist of passive-aggressive comments from the person that created the thread as you seemed not to appreciate the help of others and just cry and complain constantly. Yes I know but the way I understood your tears that I skimmed over I thought you didn't like the fact that the library he gave you only has one buffer and you thought it was a "bug" at first that you had to reboot or something like that. What? The comment you quoted doesn't really clear up or negate what I've said. My comment you've quoted is basically the answer for your quote. Anyway, you don't seem like a person someone can talk to normally. You don't seem to appreciate help from others other than using a solution but still crying about something and answering other posts that don't fit your expectations with passive-aggressive comments so I'm done with you. I recommend you not to post anything on this forum if you plan on being stubborn.
  4. Piorjade

    make opencomputers processors faster

    OC's way of limiting GPU calls, making pixel-by-pixel drawing incredibly slow, is actually kind-of realistic. (it's only more extreme to compensate for good server performance) One way, which was already suggested, is to buffer every pixel and only draw the changes. Additionally to that you'd have to create some sort of algorithm, which groups pixels together to reduce GPU calls. Soo that is the general idea of some sort of double buffered graphics library for OC. I know how you're feeling and I didn't read every comment here but it seems like you've overreacted a bit. Anyway, if you're interested in a double buffering library that allows you to create multiple buffers, I've created one a day ago with a very simple "algorithm" to group the pixels together. (Although I DO NOT only draw the changes; I might add that if I have the motivation for it.) Click here my dude You "require" this library and create a buffer with lib.createBuffer(xpos, ypos, width, height) which returns the buffer (table) containing some methods. Almost all of the drawing methods are called the same like from the GPU component api, although I did not add any documentation which means you'll have to look through the code yourself if you don't understand something. To draw the buffer call buffer.draw(). Be aware that this is not really optimized and I didn't test resizing the buffers (but the methods are there). The RAM usage for a 160x50 buffer is actually acceptable (I think it was 134k free of 194k on a freshly booted OpenOS computer with 2x3.5 Memory) and it draws pretty fast although I did not test very complex images (I should've done that beforehand lol). (Sorry if I jumped into this conversation too late) EDIT: I might also add that if you plan on creating a window-based desktop environment and you see that the windows don't follow your mouse as fast as you drag them, it is not the fault of slow drawing (at least if you have a good double buffering library), instead it's the fact that the computer doesn't process events as fast as CC but maybe you already know that.
  5. Piorjade

    Undocumented "window" parameter in the term API wiki

    I think I'll first try to set up a basic Operating System (I'm trying to make something like "miniOS", so basically imitate DOS a bit) and when the basic system is working, I'll try implementing your idea, if that's okay. Anyway, thanks for your help!
  6. Piorjade

    Undocumented "window" parameter in the term API wiki

    Yeah, that's true, but as I said, if I wanted to have "virtual terminals" (-> "windows") and they overlap and I wanted to redraw the one in the background, I somehow need the data that was on it before, which means I have to have its pixels stored somehow. Again, my methods involving having these pixels in a table lead to the whole redrawing process being really slow, as it would call a gpu method for every pixel.
  7. Piorjade

    Undocumented "window" parameter in the term API wiki

    That's a great idea! The reason I wanted to make it is that I wanted to try to make an OS myself, idk really why lol. Anyway, I'll take a look at that buffer library that OpenOS apparently uses for I/O. EDIT: I experimented with process metadata and your answer regarding term.internal.open and I don't get why the process doesn't have a "window" entry in the data table and after you set that as the newly created window it only THEN prints to the new window, which is why I also don't get why you used term.bind in the beginning as that apparently doesn't redirect input/output, it binds these components to the current window/terminal (which is still the original one at in that moment) (I attached some screenshots)
  8. Piorjade

    Undocumented "window" parameter in the term API wiki

    Okay, thanks for the tip. Another question (it isn't directly related to the topic, so if that's not good tell me and I'll create a new topic for it) If I wanted to make such a system myself (a self-made term API that allows creating multiple windows), how would I have to handle redrawing the content of them? I already tried having pixels saved in a table (with information like background- and foregroundcolor and which character they contain) but that made it really slow as it iterated through the whole table and made a gpu call for every pixel. I need redrawing if I for example have 2 windows overlap each other and I saw something in the OpenOS code about a stream for the ttys.
  9. Piorjade

    Undocumented "window" parameter in the term API wiki

    Thanks! Is there any wiki page that shows what metadata processes exactly have?
  10. So I am coming from ComputerCraft and the term API there is pretty straight forward and allows us to create windows to write / redirect to. Anyway, in the term API wikipage of OpenComputers there is for example the method term.bind with an optional parameter "window", the problem is I can't find any information about this parameter and I assumed that this would be the same kind of "window" as in CC and I won't have to write my own API for it. Do you guys know something about it?
  11. Piorjade

    MineOS: powerful desktop environment for OpenOS

    I tried to translate it into german, but fucked the script up. I think i translated the wrong values/strings.

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.