Version 1.4.5

Just intalled the version that appeared on the french store. My game runned at 59-60 fps and has dropped to 49-50 fps just after the update. I have ipad1. Tried to free all memory, kill all apps, restart: same fps. It is a bit disappointing, cause i can really see the difference in fuidity. @Simeon : did you expect that? Do you plan to recover the former speed?

@Jmv38 sorry about the speed difference, I’ve noticed it too and am looking into the cause. If you notice anything in particular slowing it down (i.e. text, meshes, sprites) please let me know and I’ll look there first. Codea 1.4.5 fixes the previous bug where it would sometimes stop rendering correctly until a restart.

It also makes project sharing a lot easier — you can touch-and-hold the Add New Project button to paste copied text as a new project — however it has to be in the same format as Codea copies projects out (when you touch-and-hold a project and choose copy).

Thanks for the answer. I though it might be due to my sloppy programming, but it also make the anagrams example too slow (fireworks become ugly), and you can’t call Andrew Stacey a sloppy programmer :wink: . I hadn’t saved my last version of the .ipa so now i can’t go back to the previous version X_X . Bouaaaaa… Is there a repository on the web where i can find the previous version of the ipa? I can’t live without my codea, bouaaaaaa…! X_X

Do you maybe have a computer which you sync your iPad to? Maybe you haven’t updated it on there.

And if you could just find the ipa on the web, that would corrupt apple from the inside out. You have to find YOUR copy, because it is signed with your apple ID (or something like that)

Thanks Jordan. I didn’t know my ipa’s were signed… So now only Simeon can save me (and the reviewer good will). Sob… To everyone: DON’T UPGRADE until the issue is solved!

.@Jmv38 I’ve just been testing 1.4.5 and Andrew Stacey’s Anagrams example seems to run as it always did (the same speed, and looks the same). Perhaps try restarting Codea by killing it from your multi-tasking tray? Let me know if this helps at all. Edit: Just saw that you have tried that.

.@Simeon, related to my other post, could it be because it is the beta version?

Simeon: i also tried to completely turn off the ipad, restart, doesn’t change anything.

.@Jmv38 thanks for testing this. It looks like I’m going to have to submit a quick fix to remove the, now-broken, beta features from the current version. I am unsure if this will resolve your performance issues, however. Were you running 1.4.4 previously? or 1.4.3?

@Simeon i was running 1.4.4 i guess, since i checked for updates everyday for the 2 past months.

Some more hints:

roller coaster seems ok, othough it goes so fast i don’t see anything clearly.

hello mesh is special: it seems to run fast and smoothly, despite the high number of sprites turning, but when i slide the finger to increase the number of sprites the framerate decreases dramatically at this moment, and recover when i stop.

Even Cargobot runs not smoothly anymore.

On an iPad 2, (even after restarting codea), this code crashes me when I touch the screen

function setup()
    body = physics.body(POLYGON, 
        vec2(25, HEIGHT / 2 - 50), vec2(WIDTH - 25, HEIGHT / 2 + 25),
        vec2(WIDTH - 25, HEIGHT / 2 + 50), vec2(25, HEIGHT / 2 - 25))
    watch("body.position")
    floor = physics.body(EDGE, vec2(0, 0), vec2(WIDTH, 0))
end

function draw()
    background(0, 0, 0, 255)
    stroke(255, 255, 255, 255)
    strokeWidth(4)
    pushMatrix()
        translate(body.position.x, body.position.y)
        rotate(body.angle)
        for i = 1, #body.points - 1 do
            local v = body.points[i]
            local nV = body.points[i + 1]
            line(v.x, v.y, nV.x, nV.y)
        end
    popMatrix()
end

function touched(touch)
    if touch.state == BEGAN then
        body:applyForce(0, 100)
    end
end

Simeon,
I know this has been asked a lot… But are there any chance that some kind of socket will be available ? I see from other small aps that ex. Udp data I/O looks trivial.
Someone mentioned to me that it is possible to include a Lua extension by myself, but I have no clue on how to manage that, me being an “end user” on this.
Re Peter

@Jmv38 It must be very frustrating to experience such a performance difference. I don’t understand what could have caused it, except perhaps that it is due to 1.4.5 accidentally using the beta code. 1.4.6 is a bug fix update that reverts to the non-beta code. I hope this improves things for you. In the meantime I will be trying to optimise performance.

@macflyerdk At some point we did experiment with sockets, and ended up replacing them with the http.request API. Sockets are lower level, and you can do some things that you can’t do with http (such as UDP data).

I am hesitant to add a raw sockets API (e.g., LuaSockets) because I dislike the API design. If I add it, it’s something I’d like to design from scratch to fit into the Codea style of doing things.

@simeon thanks for your concern. I know you’ll find a solution, i am confident in your great skills. I can’t be the only one to experience the problem. I’ll just have to wait a little bit (hopefully not too long… Maybe the .6 release will correct for it?).

Starting to experience some issues with meshes on an iPad 3. Run the following then swap orientations - getting distortion and flickering of the images. Anyone else getting this?

-- Use this function to perform your initial setup
function setup()
bg=mesh()
bg.texture=("Cargo Bot:Made With Codea")
 --   bgimg=readImage("Cargo Bot:Made With Codea")
--    bg.texture=bgimg
end

-- This function gets called once every frame
function draw()
    
    bg:clear()
--    local bgid=bg:addRect(WIDTH/2,HEIGHT/2,WIDTH,HEIGHT)
    local bgid=bg:addRect(300,300,100,100)
    bg:setRectTex(bgid,0,0,1,1)
    bg:draw()
    
end

.@West that’s because you are not calling background(color) at the start of draw(). So it is drawing over whatever was previously in the OpenGL framebuffer.

Try putting background(0) at the start of your draw call.